CN102833546B - 基于小波子带交织最优量化的高速图像压缩方法及装置 - Google Patents
基于小波子带交织最优量化的高速图像压缩方法及装置 Download PDFInfo
- Publication number
- CN102833546B CN102833546B CN201210298787.5A CN201210298787A CN102833546B CN 102833546 B CN102833546 B CN 102833546B CN 201210298787 A CN201210298787 A CN 201210298787A CN 102833546 B CN102833546 B CN 102833546B
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- image
- band
- code stream
- 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.)
- Expired - Fee Related
Links
- 238000007906 compression Methods 0.000 title claims abstract description 73
- 230000006835 compression Effects 0.000 title claims abstract description 70
- 238000013139 quantization Methods 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title abstract description 34
- 230000009466 transformation Effects 0.000 claims abstract description 48
- 230000006837 decompression Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 6
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 101000798707 Homo sapiens Transmembrane protease serine 13 Proteins 0.000 abstract description 2
- 102100032467 Transmembrane protease serine 13 Human genes 0.000 abstract description 2
- 239000000872 buffer Substances 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- WCJYTPVNMWIZCG-UHFFFAOYSA-N xylylcarb Chemical compound CNC(=O)OC1=CC=C(C)C(C)=C1 WCJYTPVNMWIZCG-UHFFFAOYSA-N 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 101100412394 Drosophila melanogaster Reg-2 gene Proteins 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000033772 system development Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100498823 Caenorhabditis elegans ddr-2 gene Proteins 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000009223 counseling Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000035479 physiological effects, processes and functions Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明涉及基于小波子带交织最优量化的高速图像压缩方法,采集CCD相机数据,并对CCD相机数据进行3级小波变换;将小波变换后并行的子带数据转换成子带交织的串行数据流,并进行最优量化;对量化后的小波最低频子带数据采用JPEG_LS算法进行预测;对量化和预测后的数据进行游程编码和指数哥伦布编码,得到采集图像的最终码流。本发明亦提供一种压缩装置,本发明仅使用单片现场可编程逻辑器件,完成了图像数据采集、编码和传输全过程,压缩比可通过量化步长进行调整,单路数据吞吐量可达350MSPS。
Description
技术领域
本发明属于图像处理领域,涉及一种如何高速的对图像进行编码的方法及其工程实现装置。
背景技术
随着图像传感器和电子技术的进步,航测等领域使用CCD相机的分辨率和采样率等都不断增加,产生了大量的图像数据。如何将这些数据有效地传输和存储成为人们日益关注的焦点。高效的压缩编码技术便是解决这个问题的一种有效的途径。
经典编码方法主要有预测编码、变换编码和统计编码。预测编码是根据数据的统计特性得到预测值,然后传输图像像素与其预测值的差值信号,使其传输的码率降低。变换编码是将给定的图像变换到另一个数据域上,使图像的能量集中。统计压缩编码方法则是根据信息码字出现概率的分布特征而进行压缩编码,寻找概率与码字长度间的最优匹配。
现代压缩方法不局限于信息论的框架,充分利用了人的视觉生理、心理和图像信源的各种特征,实现从“波形”编码到“模型”编码的转变,为了克服经典压缩方法压缩比小、图像复原质量不理想等弱点。主要有基于分形的编码、基于模型的编码、基于区域分割编码、基于神经网络的编码和基于小波变换的编码等。其中,利用小波变换可以一次变换整幅图像,不仅可以达到高的压缩比,而且不会出现JPEG重建图像中的“方块”效应。随着小波变换理论的不断完善,国内外的学者提出了许多基于小波变换的压缩算法,应用较多的有EZW算法,SPIHT算法和EBCOT算法。传统的EZW算法和SPIHT算法在编码时采取了链表式结构,要对整个图像数据进行存储,存储空间较大;熵编码采用算术编码,计算量较大。EBCOT算法采用了比特位平面算术编码,编码时除对最高比特平面外,每个比特平面都要进行三通道扫描编码。编码时需要为每个编码码块分配一定的存储空间,但在第二级码率截取时,又会丢失掉前一级编码中产生的许多码率,从而造成了巨大的资源浪费。位平面算法和MQ算术编码的复杂度较高,硬件实现比较困难。JPEG2000是新一代的编码标准,采用了EBCOT算法作为核心算法,虽然可以在获得高压缩比的同时,获得高保真的图像质量,但是编码时计算量大,不仅需要缓存大量的图像数据,还需要进行多次扫描,很难达到较高的编码速度。2005年11月,空间数据***咨询委员会发布了一个标准,即CCSDS算法。该算法也是由小波变换模块和位编码模块组成,结构要比JPEG2000简单,实现方便,但需要将小波变换后的系数按生成树的顺序读出,分别送到每个比特平面编码器进行比特平面编码,因此,小波变换后的数据必须缓存起来进行扫描编码,速度仍不可能有较大的提高。
在实际工程中,之所以选择使用现场可编程逻辑器件来实现图像压缩处理***,是因为现场可编程逻辑器件具有很高的并行处理能力,数据处理速度快;而且开发成本较低,灵活性好,可以重新配置。
发明内容
为了克服许多领域产生的高速图像带来的海量数据给有限的传输带宽和大容量数据记录***带来困难,本发明提出了一种基于小波子带交织最优量化的高速图像压缩方法及图像压缩装置。
为了实现所述目的,本发明的第一方面提供一种基于小波子带交织最优量化的高速图像压缩方法,所述方法的压缩步骤如下:
步骤S1:利用硬件描述语言在现场可编程逻辑器件中设计出CCD相机数据采集模块,利用CCD相机时钟对CCD相机数据进行采集,并进行时钟域转换,以编码时钟输出采集到的图像数据;
步骤S2:利用硬件描述语言在现场可编程逻辑器件设计出3级二维5/3小波变换的智能特性核;对数据采集模块输出的图像数据进行3级小波变换,得到各级并行输出的子带数据;
步骤S3:将各级并行输出的子带数据转换成一个各级子带交织的串行数据流;利用硬件描述语言在现场可编程逻辑器件上设计子带交织最优量化器,子带交织最优量化器对子带交织的串行数据流进行量化,得到小波变换后各个子带的量化数据;
步骤S4:利用硬件描述语言在现场可编程器件上实现JPEG_LS算法的预测器,预测器对小波变换后各个子带的量化数据中的小波最低频子带数据进行预测,用以去除量化后的小波最低频子带数据之间的相关性,获得低频预测后的子带数据;
步骤S5:采用自适应0游程编码对量化数据和低频预测后的数据进行游程编码,得到自适应0游程编码后的数据,并将自适应0游程编码在现场可编程器件上实现;
步骤S6:采用查找表和直接取位操作的方式在现场可编程器件上实现指数哥伦布编码器,对自适应0游程编码后的数据进行指数哥伦布编码处理,得到采集图像数据压缩编码的码流。
为了实现所述目的,本发明的第二方面提供一种基于小波子带交织最优量化的高速图像压缩装置,所述压缩装置包括CCD相机、现场可编程逻辑器件、片外存储器和计算机,所述现场可编程器件包括图像压缩模块(内嵌数据采集模块)、本地端口接口、多端口存储器控制器、内嵌入式处理器、以太网核和PLB4.6总线;其中:CCD相机通过相机口与现场可编程逻辑器件相连,向现场可编程逻辑器件输入CCD图像数据;现场可编程逻辑器件中的图像压缩模块接收到内嵌入式处理器发出的启动信号后开始工作,实现对CCD相机数据的采集、3级二维5/3小波变换、子带交织最优量化、JPEG_LS预测、自适应0游程编码和指数哥伦布编码,得到CCD相机数据的最终码流,并输入到本地端口接口中,同时向内嵌入式处理器发出一帧图像结束信号;本地端口接口接收到内嵌入式处理器发出的片外存储器起始地址,写入片外存储器的数据宽度,一次写入多少数据以及写命令信号后,将图像压缩模块输入的码流数据,连同内嵌入式处理器发出的控制信号一同输入到多端口存储器控制器的PIM接口;多端口存储器控制器将接收到的码流数据写入片外存储器的规定位置中,同样,多端口存储器控制器也能够将片外存储器中指定地址的数据读出来,输入到PLB4.6总线上;当内嵌入式处理器接收到来自图像压缩模块的一帧图像的结束信号后,开启以太网核,并将片外存储器指定空间的数据通过PLB4.6总线、内嵌入式处理器和输入到以太网核的局部接口上;以太网核将接收到的数据通过网口发送到计算机上;计算机对接收的码流进行解码显示。
本发明的有益效果:本发明主要采用了一种多级二维小波变换的硬件实现方法,并对该二维小波变换之后得到的并行的子带数据按HL子带数据、LH子带数据、HH子带数据和LL子带数据的顺序组织成一个各个子带交织的串行数据流;只要小波变换一有数据输出,就可以及时进行最优量化、预测以及熵编码。整个压缩过程只使用了一路量化、预测以及熵编码器,而且没有使用任何片外资源,资源使用少(单片Virtex5可以实现8路1024×1024图像的压缩),速度快(可达350MSPS)。从而有效地解决了海量高速数据量给有限的传输带宽和大容量数据记录***带来问题,适用光测、遥感、航测等多种领域的图像数据的记录及传输,也为后期的图像处理奠定基础。
本发明中涉及到的图像压缩方法也是最新的基于小波分析的编码技术研究成果。本发明中的交织最优量化方法,将3级小波变换后得到的10个子带数据组织成一个各个子带交织的串行的数据流,使得小波变换得到的数据无需片外缓冲便可直接进行量化、预测,而且只需要一路熵编码器就可以实现整个压缩过程。本发明的压缩装置仅使用了单片现场可编程门阵列芯片就完成了CCD相机图像数据的采集、编码以及数据传输等主要功能,片外存储器仅用作压缩后码流的存储。整个压缩编码过程结构简单,资源使用少;主要使用了单片现场可编程逻辑器件,使用方便;数据吞吐率高,可达350MSPS,能够满足高速图像的及时压缩。该方法利用现场可编程器件对小波变换后的数据同步组织成各个子带交织的串行的数据流,在对这个数据流进行最优量化,预测和熵编码,得到最终的码流;该工程实现装置使用现场可编程器件对相机数据进行的采集、编码和传输,使用片外存储单元对压缩编码后的码流进行存储,既可以实时地通过网络传输到计算机进行解码显示,又可以供事后进行处理。可以很好的应用在遥感航测以及光测等设备中,具有广阔的市场前景和实际应用价值。
附图说明
图1为本发明中图像压缩方法流程图;
图2为数据采集模块输入输出时序图;
图3为小波行变换***、预测和更新数据流图;
图4为小波变换结构示意图;
图5为3级整数小波变换各子带输出示意图;
图6为并行的小波子带数据转化成子带交织的串行数据示意图;
图7为子带交织最优量化结构原理图;
图8a为低频预测模块JPEG_LS算法结构图;
图8b为JPEG_LS算法中相关像素点的位置示意图;
图9为游程编码样本扫描顺序图;
图10为游程编码结构原理图;
图11为指数哥伦布编码结构原理图;
图12本发明中图像压缩***结构图;
图13a-图13d为用该发明的压缩***压缩44倍的图像解码效果比较图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合附图及具体实施方式进一步详细介绍本发明。
请参见图1示出,本发明基于小波子带交织最优量化的高速图像压缩方法,所述方法的压缩步骤如下:
步骤S1:利用硬件描述语言(VHDL)在现场可编程逻辑器件FPGA中设计出CCD相机数据采集模块,利用CCD相机时钟对CCD相机数据进行采集,并进行时钟域转换,以编码时钟输出采集到的图像数据;
步骤S2:利用硬件描述语言在现场可编程逻辑器件设计出3级二维5/3小波变换的智能特性核;对数据采集模块输出的图像数据进行3级小波变换,得到各级并行输出的子带数据;
步骤S3:将各级并行输出的子带数据转换成一个各级子带交织的串行数据流;利用硬件描述语言在现场可编程逻辑器件上设计子带交织最优量化器,子带交织最优量化器对子带交织的串行数据流进行量化,得到小波变换后各个子带的量化数据;
步骤S4:利用硬件描述语言在现场可编程器件上实现JPEG_LS算法的预测器,预测器对小波变换后各个子带的量化数据中的小波最低频子带数据进行预测,用以去除量化后的小波最低频子带数据之间的相关性,获得低频预测后的子带数据;
步骤S5:采用自适应0游程编码对量化数据和低频预测后的数据进行游程编码,得到自适应0游程编码后的数据,并将自适应0游程编码在现场可编程器件上实现;
步骤S6:采用查找表和直接取位操作的方式在现场可编程器件上实现指数哥伦布编码器,对自适应0游程编码后的数据进行指数哥伦布编码处理,得到采集图像数据压缩编码的码流。
对各级并行输出的子带数据转换是按一级、二级和三级变换的顺序的转换,每一级并行输出的子带数据按HL子带数据、LH子带数据、HH子带数据和LL子带数据的顺序输出,得到各个子带交织的串行的数据流。
整个压缩过程不需要使用任何片外存储单元对小波变换后的各级并行输出的子带数据进行缓存,小波变换一有并行输出的子带数据,就及时得对并行输出的子带数据进行量化、自适应0游程编码和指数哥伦布编码,在小波变换结束后的100个编码周期内,就能完成整个图像的编码过程。
现场可编程逻辑器件中的整个压缩模块达到350MSPS(MillionSample Per Second)的压缩速度。
指数哥伦布编码器使用查找表来实现首1检测,采用直接取位操作的方式,完成指数哥伦布编码的核心操作。
本发明中涉及到的是一种基于像素的编码方式,所述方法包括以下几个部分:CCD相机数据的采集、3级二维5/3小波变换、子带交织最优量化、JPEG_LS低频预测、自适应0游程编码和指数哥伦布编码的高速现场可编程门阵列现场可编程逻辑器件实现。下面详细描述所述方法的具体步骤:
1.CCD相机数据采集
由图2示出数据采集模块输入输出时序图,具体描述如下:
首先,CCD相机通过相机口(camera link)连接在现场可编程逻辑器件FPGA上。利用硬件描述语言编写CCD相机采集程序,现场可编程逻辑器件的采集模块的输入信号定义为:帧有效信号(记作Frame_valid)、行有效信号(记作Line_valid)、相机数据有效信号(记作Data_valid)、CCD相机数据(记作CCD_data)和CCD相机时钟(记作Camera_clk)。CCD相机进行连续拍摄的时候,两帧图像之间有一定的无效期,称“帧消隐期”;在一帧图像内,一行数据和一行数据之间也有一定的无效期,称“行消隐期”。当输入帧有效信号、行有效信号和相机数据有效信号同时有效的时候,此时的CCD相机数据就是有效的。我们采集这个数据并输入到一个先入先出缓冲器(FIFO)中,进行时钟域的转换,将相机时钟域转换到编码时钟域,输出帧有效信号(记作Fval_out)、行有效信号(记作Lval_out)和采集到的相机数据(记作Data_out)。相机采集时钟一般为50MHz,而本发明中的压缩算法编码时钟可高达350MHz。对采集到的数据进行时钟域转化后,可以明显加长“行消隐期”。小波变换以及并行的小波子带数据转换为子带交织的数据流,都需要借助“行消隐期”才得以完成。
2.3级二维5/3小波变换的硬件高速实现
小波变换以其独特的时频分析特性和多分辨率能力已被广泛的应用于图像压缩领域。传统的基于卷积的小波变换计算复杂度高,内存需求量大,不适合实际的工程需要。提升小波算法的提出很大程度上解决了这个问题。提升小波主要分为***、预测和更新三大步骤。实例中的采用了常用的5/3提升小波变换。一维5/3提升小波变换的预测和更新过程可分别由公式(1)和公式(2)表示:
其中,x表示小波变换输入的数据,y表示小波变换后得到的数据。如图3所示为小波行变换***、预测和更新数据流图,对输入数据x进行奇偶***后,得到奇数序列x(2n+1)和偶数序列x(2n),其中n表示***后奇偶序列的序数。用偶数序列相邻两数的均值与对应奇数序列的值x(2n+1)做差,就得到了对应序数的预测值y(2n+1),如公式(1)所示;由公式(1)中得到的相邻的预测值加上2后,除以4,再加上对应的偶数序列的值x(2n),就得到了对应序数的更新值y(2n),如公式(2)所示。由公式(1)和(2)可知,得到的预测值和更新值,可以直接代替原来的输入值,实现原位操作,而不需使用额外的存储单元。特别的是:当n为***后奇偶序列的最后一个数时,预测的时候需要进行右边界延拓,即取x(2n+2)=x(2n);当n为***后奇偶序列的第一个数是,更新的时候需要也需要进行左边界延拓,即取y(2n-1)=y(2n+1)。
我们把数据采集模块采集到图像数据输入到小波变换模块中进行小波变换。对一幅图像进行二维小波变换时,需要分别对该图像进行一次行变换和一次列变换。对于行变换来说,当一行图像数据的第三个数据(记作x(2))输入的时候,就有了x(0)(缓冲着)、x(1)(缓冲着)和x(2)三个数据,利用公式(1),由x(0)和x(2)预测x(1),便得到预测结果y(1);同样,利用公式(2),这里需要对y(1)进行边界扩展后,就可以得到更新结果y(0)。同样,该行第四个数据到来,有了x(1),x(2)和x(3)……依次类推,就可以对该行的每一个输入数据逐次进行预测和更新,从而得到这一行数据的行变换的结果。
结合小波变换结构如图4示出,当采集到的图像数据的第一行数据行变换完成时,用缓冲器将这一行数据的变换结果缓存起来,得到第一行缓冲;同样,把第二行数据变换后的结果也缓存起来,得到第二行缓冲;当第三行数据到来时,一边得到行变换的结果,一边用刚刚得到的行变换结果,结合第一行缓存中的数据,预测第二行缓存中的存放的数据得到预测结果(公式1),得到LH和HH子带数据,同时,这个预测结果需要缓存起来得到第三行缓冲;利用第三行缓冲、刚得到的预测结果更新第一行缓冲中的数据(公式2),得到LL和HL子带数据。图示中的两个“2选1”器件是用来边界扩展的。如同行变换中的奇偶***,在列变换中,我们将输入为奇数行的图像数据的行变换结果缓冲起来,当偶数行(第0行除外)的图像数据输入后才输出列变换后的结果,完成一次行变换和列变换都得到这级变换的四个子带数据,记作LL、LH、HL和HH(L表示低频信息,H表示高频信息)。
结合图5示出的3级整数小波变换输出的各子带数据,第一级小波变换模块得到四个子带数据,用LL1、LH1、HL1和HH1表示。同时,第一级小波变换后的低频子带LL1数据将进入下一级小波变换模块,类似于第一级小波变换,当这一级满足了三行低频子带LL1数据时,开始第二级小波变换的行列变换,得到第二级小波变换的四个子带数据,用LL2、LH2、HL2和HH2表示。依次类推,将第二级小波变换后的低频子带数据LL2输入到第三级小波变换模块中进行第三级小波变换,得到第三级变换后的低频子带数据,用LL3、LH3、HL3和HH3表示。可见,图像经过3级小波变换后得到了10个子带数据。特别的是,如果图像数据是最后一行,小波变换内部需要用这行输入数据进行边界扩展,然后进行列变换,这时候,10个子带数据同时输出。
3.子带交织最优量化器的硬件实现
小波变换后的各个子带数据,对图像重构时的贡献大小是不同的。其中,低频子带系数重建时的能量贡献最大。子带变换增益Gb量化表征了这一能量值。在公式(3)中,db表示子带b所属的变换级序号;Δ为预设量化步长,子带b的最优量化阶Δb可对预设量化步长Δ乘以一个权重而得到。通过调整预设量化步长Δ的值可以粗略地调整图像的码率和图像的失真情况。
根据上面式子(3),取基本量化步长Δ′,分别设定子带LL,HL,LH和HH的的预设量化步长Δ为4Δ′,4Δ′,4Δ′和8Δ′,就可以得到三级小波变换系数最优化量化阶,如下表1所示:
表1三级小波变换系数最优量化阶
从图5可以看出,每一级变换后的四个子带数据是同时输出的,其中低频子带数据要输入到下一级变换模块中,高频子带数据缓冲到先入先出缓冲器(FIFO)中,我们可以通过控制先入先出缓存器(FIFO),使每一级的三个高频子带按HL,LH和HH的顺序依次输出。三级变换按照先输出第一级变换三个子带数据,再输出第二级变换三个子带数据,最后输出第三级变换的四个子带数据的顺序依次输出。通过控制三级变换后的FIFO,各个子带数据可以按这个规律输出:HL1,LH1,HH1,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL3,LH3,HH3,LL3,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL3,LH3,HH3,LL3……HL1,LH1,HH1,HL2,LH2,HH2,HL3,LH3,HH3和LL3。这样,小波变换的各个子带数据就交织成一个很有规律性的三级子带数据依次输出的数据流。图6中为并行的小波子带数据转换成子带交织的串行数据的是部分示意图,假设输入小波变换模块的行有效信号为lval_in,输入到小波变换模块的数据为Data_in,输出的10个子带数据用HL1,LH1,HH1,HL2,LH2,HH2,HL3,LH3,HH3和LL3来表示,D_interlaced表示子带交织的串行数据流。假设,输入到小波变换模块的数据Data_in的行有效长度为V,行消隐期为N,10个子带同时输出的长度为M,则有:
能够将并行的子带数据转化成子带交织的串行的数据流的必要条件是需要满足:
M<2×(V+N) (5)
解得:
对于低速CCD相机,即使在采集模块不做时钟域转换,这个条件通常是能够满足的;对于高速CCD相机,则必须在采集模块进行了时钟域转换,使之满足式子(6)。
既然我们已经得到了各个子带交织的串行的数据流,就可以对这个数据流进行表1所示的最优量化。这个量化器就是子带交织最优量化器。使用子带交织最优量化器对交织的子带数据进行量化,不需要使用额外的存储单元对小波变换后的子带数据进行存储,而且可以及时的处理小波变换后的数据。完全可以做到小波变换一完成,量化操作延时2个时钟周期也能完成。这不仅为后期编码的及时完成打下基础,也充分发挥了硬件的并行性。
在小波子带交织最优量化器的设计中,如何按照小波变换后的数据流进行不同步长的量化,就是这个量化器关键。本发明中采用3位的移位单元shift_reg1来表征输入数据是HL1子带数据、LH1子带数据还是HH1子带数据;采用3位的移位单元shift_reg2来表征输入数据是HL2子带数据、LH2子带数据还是HH2子带数据;采用3位的移位单元shift_reg3来表征输入数据是HL3子带数据、LH3子带数据还是HH3子带数据。因为每一级变换一开始都要输入三行图像数据才能得到本级变换的结果,之后便是偶数行输出变换的结果,所以,我们还需要用个信号(记作is_first_line)来表征输入是否为图像的第一行数据。通过shift_reg1、shift_reg2、shift_reg3和is_first_line的值就可以判断出进入量化器的子带数据是第几级变换的哪个子带的数据了。对于输入到小波变换模块的最后一行图像数据,小波变换需要进行边界扩展后才能进行,这时候,10个子带按照HL1,LH1,HH1,HL2,LH2,HH2,HL3,LH3,HH3,LL3的顺序输入到量化器中,这时候的量化情形与前面的不同,所以,需要进行标记后逐一量化才能得到正确的量化结果。
结合图7示出的子带交织最优量化器结构,该结构包括控制模块、三个3位循环移位寄存器shift_reg1,shift_reg2和shift_reg3,四个信号表示为输入数据属于第一级变换(is_level1),第二级变换(is_level2),第三级变换(is_level3)还是最低频子带(is_LL3),查找表LUT,以及移位操作单元。该量化器的输入信号有:小波变换后各个子带数据按规律组织后的数据流(记作Data_in),帧有效信号(记作Frame_valid),行有效信号(记作Line_valid)以及是否为图像的最后一行的数据(Lastline);输出信号有:量化后的数据(记作data_out),帧有效信号和行有效信号(这两个信号没有在图示中标出)。控制模块主要对输入的行有效信号进行分析统计,得到3个3位循环移位寄存器的值和4个信号is_level1,is_level2,is_level3和is_LL3的值。三个3位循环移位寄存器的工作原理一样,这里以第一级变换为例:设定shift_reg1的初始值设定为“001”,当子带交织最优量化器检测到HL子带数据到来时,shift_reg1的值向左移一位,变为“010”;当检测到LH子带数据到来是,也向左移一位,变为“100”;当检测到HH子带数据到来时,也向左移一位,变为“001”,依次类推,循环移位。这样,根据shift_reg1最低位shift_reg1(0)是‘0’还是‘1’,就可以断定输入的数据是HL子带数据和LH子带数据还是HH子带数据,从而设定量化步长为Δ′还是2×Δ′。所以,由shift_reg1(0)、shift_reg2(0)、shift_reg3(0)、is_level1、is_level2、is_level3和is_LL3对查找表进行查询,就可以得到表1中三级小波变换各个子带的最优量化阶了,即得到移位操作需要右移的位数,便可以得到输入数据相应的量化值(data_out)了。
4.JPEG_LS低频预测模块的硬件实现
由于量化后的小波最低频数据仍然存在很强的相关性,因此,本发明采用了原理简单,易于实现,效果优秀的JPEG_LS算法进行低频预测。假设x为要编码的像素点,令X′表示该像素点x的预测值,A、B、C为x的左边、正上方和左上的三个像素点,如图8b所示。该算法主要思想就是对A,B,C这三个像素点的大小进行排序,如果C大于等于A和B的大者,则取A和B中的小者作为像素点x预测值X′;如果C小于等于A和B的小者,则取A和B中的大者作为像素点x预测值X′;如果C介于A和B之间,则取A+B-C的值作为像素点x预测值X′,用公式(4)表示如下:
图8a示出低频预测模块JPEG_LS算法结构(由虚线划分成四级流水),包括行缓存器、获取预测值的逻辑单元、减法单元以及5个延时单元(由Z-1表示)。低频预测模块的输入数据D为小波最低频子带数据进行量化后的量化数据,输出为预测后得到的残差数据(表示输入数据和输出数据的有效信号均没有在图示中标出)。行缓冲器将输入到该模块中的数据缓冲起来,当第二行及第二行以后的数据输入时,行缓冲器中缓冲便是前一行的数据;5个延时单元的作用一样,都是将输入的数据延时一个时钟,从而得到该时刻数据的前面的数据。假定上一行数据为像素点C,像素点B…,这一行数据为像素点A,图像数据x,图像数据D…。当输入数据D时,其前一时钟的数据为x,其前两个时钟的数据为A,在X数据正上方的数据为像素点B,像素点A数据正上方的数据为像素点C。当像素点A,像素点B,像素点C输入到“获取预测值的逻辑单元”时,结合公式4,在下一个时钟可以得到预测值X’。最后,预测值X’和x的下一时钟的数值做差,得到并输出预测后的残差数据x-X’。
5.自适应0游程编码
自然图像中存在大量的平滑区域,这些区域在进行小波变换、最优量化和低频预测后会出现许多0。由于子带交织量化器是根据小波各个子带产生的顺序进行的,游程编码处理的是量化和预测后得到的数据。虽然子带交织量化器是根据小波变换后子带的输出规律进行量化的,但对游程编码来说,相当对小波系数进行如图9所示为游程编码样本的扫描顺序图,即按照HL1,LH1,HH1,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL3,LH3,HH3,LL3,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL1,LH1,HH1,HL1,LH1,HH1,HL2,LH2,HH2,HL3,LH3,HH3,LL3……HL1,LH1,HH1,HL2,LH2,HH2,HL3,LH3,HH3,LL3的顺序进行扫描。由此可见,扫描许多行高频系数才去扫描一次低频系数。因为高频系数在量化后会产生很多0,所以,按这种方式扫描之后,就会产生有很多连0的样本数据,很适合使用游程编码进行编码的。
本发明中采用了只对0系数进行游程编码的零游程编码。这个零游程编码包含两个模式:普通模式和零游程模式。该编码的初始模式为普通模式,当连续输入的0达到2个或2个以上时,便进入了零游程模式;当出现了非0的样本时,零游程模式结束,又回归到普通模式。所以,该方法就是对顺序样本在两个模式之间不断的自适应转换而实现编码的。下面举例说明自适应游程编码的工作,例如:该游程编码输入数据为:12 0 0 1 20 4 0 0 0 0 0 0 0 0 3 1则输出为12 0 0 0 1 2 0 4 0 0 6 3 1可见,当样本中有大量连续为0的时候,可以很大的压缩样本的长度。
图10为游程编码器的结构设计(图中为游程编码的主要流程,一些延时等操作没有画出)。游程编码器主要由一个先入先出数据缓存器(FIFO)、控制器,计数器,两个2选1选择器,还有一些比较逻辑组成。游程编码的输入数据为子带交织最优量化器的输出数据以及小波最低频子带数据量化后进行预测得到的残差数据。游程编码器输入的数据A,首先进入一个先入先出数据缓存器,同时,判断数据A是否为0。如果为0,计数器加1;如果不为0,计数器清0。同时,断定的结果也要输入到控制器中,控制器输出先入先出数据缓存器的读出有效信号Re、2选1选择器的选择信号以及游程编码模块输出有效信号。通常先入先出数据缓存器的读出有效信号Re为‘1’,但当游程模式从零游程模式切换到普通模式的时候,需要连续输出计数器减去2的值,以及此时输入的这个非零数据,这时读出有效信号Re就必须有一个时钟周期为‘0’。这样才能保证先输出计数器减2的值,然后再延时一个时钟输出此时输入的数据。对上面例子中的输入数据进行分析,当游程编码模块读到第一个非0样本1的时候,零游程模式结束,进入普通模式。此时,编码器要输出0、1两个值,其中0为前面连续0的个数减去2的结果,1是进入普通模式后的输出值。这样,我们就要在读到1的时候,控制器就反馈一个信号使得先入先出数据缓存器的读信号无效,同时将这个数据(例子中为“1”)延时一个时钟输出去。控制器输出的两个选择信号MA,MB是为了保证输出的结果是直接输入到游程编码模块的数据,还是计数器减2的结果值。如果计数器的值大于等于2了,输入的样本值还是0,这时游程编码的输出有效信号V需要为0。特别的是,如果输入到游程编码模块的数据是一帧图像的最后一个数据时,即使计数器的值大于等于2,并且这个数本身也是0,我们依然需要将计数器的值减去2的结果输出数据D。
6.指数哥伦布编码
指数哥伦布(Exp-Golomb)编码是一种可变长前缀码,其硬件实现简单,无需事先建立和存储码表,通过比访问存储码字快得多的硬件计算产生码字。其码字由两部分组成,一元码+组内标号,在K=0时,非负数据n的指数哥伦布码的一元码长度L可由公式(5)得到,组内标号IndexCode可由公式(6)得到。样本n的0阶指数哥伦布编码结果Code可由公式(7)得到,其中binm(n)表示非负数据n的m位二进制表示。
IndexCode=binL-1(n+1-2L-1) (6)
Code=bin2L-1(n+1) (7)
因为指数哥伦布编码的样本必须是非负的,所以在进行指数哥伦布编码之前,需要将输入到指数哥伦布编码器中的数据映射到非负空间。相应的映射公式如式子(8)所示,其中c表示输入的整数空间的数据,映射到非负空间,即得到非负数据n。
要得到映射后的非负数据n的指数哥伦布编码结果。根据公式(7),需要先对映射后的非负数据加上1,然后从低位连续取出2L-1个二进制数就是该非负数据n的指数哥伦布编码结果。
图11为本发明中的指数哥伦布编码器。该指数哥伦布编码器主要由:非负映射逻辑,加1逻辑,查找表,两个128位寄存器,累加控制器,2选1选择器,“或”操作单元等组成。我们把游程编码器输出的数据输入到指数哥伦布编码器中进行编码,就得到了最后的码流。
当输入数据c进入到指数哥伦布编码器的时候,首先按照公式(8)进行非负映射得到非负数据n。加1之后得到数据a。用数据a在查找表(如表3所示)中查找得到数据c的码流长度2L-1。这个码流长度送到累计控制器中,累加控制器输出四个控制信号,控制信号1控制2选1选择器MUX;控制信号2控制第二128位寄存器;控制信号3控制最终取高64位的码流的输出;控制信号4控制第一128位寄存器。第一寄存器存放着当前样本的码流,而控制信号4控制着数据a放入第一寄存器的位置。第二寄存器存放合并后的码流数据,码流的合并是通过图中的“或”操作单元进行“或”操作来实现的。累加控制器通过不断的累加输入的数据的码流长度2L-1,就可以得到第二寄存器合并后的码流总长度。如果第二128位寄存器中应有的码流没有超过64位,则将第一128位寄存器中的码流和第二128位寄存器中的码流通过“或”操作合并在一起,累加控制器中的码流长度继续累加;如果第二128位寄存器中应有的码流超过了64位,则将第一128位寄存器和第二128位寄存器中的低64取出,相“或”之后,放入第二128位寄存器2的高64位,低64位补0,同时产生控制信号3,将第二128位寄存器中的高64位取出来作为码流数据输出到指数哥伦布编码器之外,累加控制器中码流长度也将减去64。控制信号3在控制码流数据输出的同时,也要输出数据有效信号v,表示输出的码流数据是有效的。在这个过程中,控制信号1控制着合并后的哪个数据输入到第二寄存器中,更新第二寄存器的值。本发明中的指数哥伦布编码器采用了查找表的方式,直接查找出了2L-1的值,只用一个时钟周期就可以实现,而且即使输入数据比特位增加,也只需修改查找表的内容。实现的时候用直接取位操作的方式代替传统的移位操作,主频可达到400MHz。
查找表的内容如下表3所示:
表3指数哥伦布编码中2L-1
本发明的图像压缩装置结构如图12所示,
所述压缩装置包括CCD相机、现场可编程逻辑器件FPGA、片外存储器DDR2和计算机,所述现场可编程器件FPGA包括内嵌数据采集模块、图像压缩模块、本地端口接口NPI、多端口存储器控制器MPMC、内嵌入式处理器PPC440、以太网核XPC_LL_TEMAC和PLB4.6总线;其中:
CCD相机通过相机口与现场可编程逻辑器件相连,向现场可编程逻辑器件输入CCD图像数据;现场可编程逻辑器件中的图像压缩模块接收到内嵌入式处理器PPC440发出的启动信号后开始工作,实现对CCD相机数据的采集、3级二维5/3小波变换、子带交织最优量化、JPEG_LS预测、自适应0游程编码和指数哥伦布编码,得到CCD相机数据的最终码流,并输入到本地端口接口NPI中,同时向内嵌入式处理器PPC440发出一帧图像结束信号;
本地端口接口NPI接收到内嵌入式处理器PPC440发出的片外存储器DDR2起始地址,写入片外存储器DDR2的数据宽度,一次写入多少数据以及写命令信号后,将图像压缩模块输入的码流数据,连同内嵌入式处理器PPC440发出的控制信号一同输入到多端口存储器控制器MPMC的PIM(Personality Interface Modules)接口;
多端口存储器控制器MPMC将接收到的码流数据写入片外存储器DDR2的规定位置中,同样,多端口存储器控制器MPMC也能够将片外存储器DDR2中指定地址的数据读出来,输入到PLB4.6总线上;
当内嵌入式处理器PPC440接收到来自图像压缩模块的一帧图像的结束信号后,开启以太网核XPC_LL_TEMAC,并将片外存储器DDR2指定空间的数据通过PLB4.6总线、内嵌入式处理器PPC440和输入到以太网核XPC_LL_TEMAC的局部接口Local_link上;以太网核XPC_LL_TEMAC将接收到的数据通过网口发送到计算机上;计算机对接收的码流进行解码显示。
利用内嵌入式处理器PPC440对图像压缩模块,本地端口接口NPI和以太网核XPC_LL_TEMAC进行统一管理,实现对片外存储器DDR2的“乒乓操作”,即通过内嵌入式处理器PPC440控制将第一帧图像编码得到的码流写入到片外存储器DDR2的A区域,将第二帧图像编码得到的码流写入到片外存储器DDR2的B区域,同时,读取A区域中的码流数据,并通过以太网核XPC_LL_TEMAC发送到计算机中;将第三帧图像编码后的码流写入到片外存储器DDR2的A区域,同时,读取B区域中的码流数据,并通过以太网核发送到计算机中,依次类推,反复进行。
该装置也能通过内嵌入式处理器PPC440对本地端口接口NPI核的控制,将码流存储在片外存储器DDR2规定区域,供事后解压显示。
整个图像压缩***的实现步骤如下:
步骤1:使用嵌入式***开发包(EDK)新建一个基本***工程:首先,选择用户开发板;其次,选择型号为XC5VFX70T的现场可编程门阵列(FPGA);再次,选用PPC440作为内嵌入式处理器,直到***搭建完成;最后,将多端口存储控制器MPMC、PLB4.6总线、以太网核XPS_LL_TEMAC、整个压缩算法打包成定制的智能特性(IP)核以及用户编写的NPI(Native Port Interface)模块打包成的IP核一并导入到该***之中。
步骤2:参照嵌入式***开发包中提供的文档,包括:plb_v46.pdf,ppc440_virtex5.pdf,mpmc.pdf,xps_ll_temac.pdf,完成导入各个IP核之间的互联(各个IP核互联如图12所示,其中,虚线箭头表示控制信号流,实心箭头表示数据信号流):
现场可编程门阵列FPGA中的图像压缩模块通过PLB4.6总线和内嵌入式处理器PPC440相连,输出的码流数据线和数据有效信号线直接与本地端口接口NPI相连。当压缩模块接收到内嵌入式处理器PPC440发出的启动信号后开始工作,得到CCD相机数据的最终码流,并输入到本地端口接口NPI中,同时向内嵌入式处理器PPC440发出一帧图像结束信号;
本地端口接口NPI通过PLB4.6总线与内嵌入式处理器PPC440相连,当接收到PPC440发出的命令,并将图像压缩模块输入的码流数据输入到多端口存储器控制器MPMC的PIM(Personality Interface Modules)接口;
多端口存储器控制器MPMC也通过PLB4.6总线和PPC440相连,也通过约束文件连接到指定的片外存储器DDR2。多端口存储器控制器MPMC用来完成对片外存储器DDR2的读写操作;
以太网核XPC_LL_TEMAC也和PLB4.6相连,同时还通过Local_link与内嵌入式处理器PPC440相连。当内嵌入式处理器PPC440接收到来自图像压缩模块的一帧图像的结束信号后,开启以太网核XPC_LL_TEMAC,并将片外存储器DDR2指定空间的数据通过PLB4.6总线和Local_link,输入到以太网核XPC_LL_TEMAC中;
步骤3:编写计算机接收和解码程序,并将嵌入式***开发包(EDK)生成的比特流下载到实验室的硬件平台上,运行后,计算机就可以接收到图像压缩后的码流,并解码显示出图像。
图13a-图13d为用该发明的压缩***压缩44倍的图像解码效果比较图,图13a为接入CCD相机后不经过压缩编码直接传到计算机显示的图像(1600×1200,像素深度为8)。这个图像为实验室墙壁上的一个告示,告示中包含许多文字以及许多不同方向的箭头,也有许多平坦的区域。文字和箭头的边缘包含许多高频信息,而且告示旁边的墙壁上的贴图也包含了许多纹理信息。这种既有高频信息也有低频信息的图像不失为一种检验本压缩方法的良好素材。图13b为对同样场景进行采集、压缩了44倍后,由计算机解码显示得到的图像,比较图13a和图13b,肉眼几乎看不到任何损失。对图像右上角的一些纹理信息放大了25倍(边长放大5倍),如图13c和图13d所示,虽然可以看图13d中出现了一些损失,但纹理的主要特征还清晰可见。这对一些压缩比较高的大部分场合有着很好的应用;对于细节要求很高的场合,本发明通过适当的减少压缩比也能够达到满意的效果。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到将整个压缩算法放在数字信号处理器(DSP)中,数字信号处理器(DSP)加现场可编程门阵列的***中,或增加、减少本发明中涉及到的部分智能特性(IP)核而在现场可编程门阵列上实现,故这些都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (3)
1.一种基于小波子带交织最优量化的高速图像压缩装置,其特征在于:所述压缩装置包括CCD相机、现场可编程逻辑器件、片外存储器和计算机,所述现场可编程器件包括图像压缩模块内嵌数据采集模块、本地端口接口、多端口存储器控制器、内嵌入式处理器、以太网核和PLB4.6总线;其中:
CCD相机通过相机口与现场可编程逻辑器件相连,向现场可编程逻辑器件输入CCD图像数据;
现场可编程逻辑器件中的图像压缩模块接收到内嵌入式处理器发出的启动信号后开始工作,实现对CCD相机数据的采集、3级二维5/3小波变换、子带交织最优量化、JPEG_LS预测、自适应0游程编码和指数哥伦布编码,得到CCD相机数据的最终码流,并输入到本地端口接口中,同时向内嵌入式处理器发出一帧图像结束信号;
本地端口接口接收到内嵌入式处理器发出的片外存储器起始地址,写入片外存储器的数据宽度,一次写入多少数据以及写命令信号后,将图像压缩模块输入的码流数据,连同内嵌入式处理器发出的控制信号一同输入到多端口存储器控制器的PIM接口;
多端口存储器控制器将接收到的码流数据写入片外存储器的规定位置中,同样,多端口存储器控制器也能够将片外存储器中指定地址的数据读出来,输入到PLB4.6总线上;
当内嵌入式处理器接收到来自图像压缩模块的一帧图像的结束信号后,开启以太网核,并将片外存储器指定空间的数据通过PLB4.6总线、内嵌入式处理器输入到以太网核的局部接口上;
以太网核将接收到的数据通过网口发送到计算机上;
计算机对接收的码流进行解码显示。
2.如权利要求1所述的压缩装置,其特征在于:利用内嵌入式处理器对图像压缩模块,本地端口接口和以太网核进行统一管理,实现对片外存储器的“乒乓操作”,即通过内嵌入式处理器控制将第一帧图像编码得到的码流写入到片外存储器的A区域,将第二帧图像编码得到的码流写入到片外存储器的B区域,同时,读取A区域中的码流数据,并通过以太网核发送到计算机中;将第三帧图像编码后的码流写入到片外存储器的A区域,同时,读取B区域中的码流数据,并通过以太网核发送到计算机中,依次类推,反复进行。
3.如权利要求1所述的压缩装置,其特征在于:该装置也能通过内嵌入式处理器对本地端口接口核的控制,将码流存储在片外存储器规定区域,供事后解压显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210298787.5A CN102833546B (zh) | 2012-08-21 | 2012-08-21 | 基于小波子带交织最优量化的高速图像压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210298787.5A CN102833546B (zh) | 2012-08-21 | 2012-08-21 | 基于小波子带交织最优量化的高速图像压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102833546A CN102833546A (zh) | 2012-12-19 |
CN102833546B true CN102833546B (zh) | 2015-03-04 |
Family
ID=47336481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210298787.5A Expired - Fee Related CN102833546B (zh) | 2012-08-21 | 2012-08-21 | 基于小波子带交织最优量化的高速图像压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102833546B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093537B (zh) * | 2013-02-20 | 2015-08-26 | 广州广电运通金融电子股份有限公司 | 一种嵌入式图像记录方法及装置 |
US20160253096A1 (en) * | 2015-02-28 | 2016-09-01 | Altera Corporation | Methods and apparatus for two-dimensional block bit-stream compression and decompression |
CN104902207B (zh) * | 2015-06-17 | 2018-03-30 | 四川特伦特科技股份有限公司 | 一种高速信号采集方法 |
WO2017046005A1 (en) * | 2015-09-18 | 2017-03-23 | Koninklijke Philips N.V. | Method and apparatus for fast and efficient image compression and decompression |
CN106951395B (zh) * | 2017-02-13 | 2018-08-17 | 上海客鹭信息技术有限公司 | 面向压缩卷积神经网络的并行卷积运算方法及装置 |
CN108156462A (zh) * | 2017-12-28 | 2018-06-12 | 上海通途半导体科技有限公司 | 一种图像压缩、解压缩方法、***及其应用的me架构 |
CN109495728B (zh) * | 2018-12-26 | 2020-07-17 | 中国科学院长春光学精密机械与物理研究所 | 一种光纤传输***及传输方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477498A (zh) * | 2003-07-03 | 2004-02-25 | 复旦大学 | 高速、可配置的一维离散小波变换vlsi结构 |
CN101105940A (zh) * | 2007-06-27 | 2008-01-16 | 北京中星微电子有限公司 | 音频编解码的量化方法、反变换方法及音频编解码装置 |
CN101404772A (zh) * | 2008-11-19 | 2009-04-08 | 中国科学院光电技术研究所 | 基于小波变换的vlsi图像压缩编码器 |
CN101833424A (zh) * | 2010-03-26 | 2010-09-15 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN101867809A (zh) * | 2010-04-09 | 2010-10-20 | 中国科学院光电技术研究所 | 基于脉动阵列的高速图像压缩vlsi编码方法及编码器 |
CN102156588A (zh) * | 2011-03-16 | 2011-08-17 | 中国科学院上海技术物理研究所 | 一种嵌入式红外实时信号处理*** |
CN102186076A (zh) * | 2011-04-29 | 2011-09-14 | 中国科学院光电技术研究所 | 一种实时码率预分配的图像压缩方法及图像压缩装置 |
-
2012
- 2012-08-21 CN CN201210298787.5A patent/CN102833546B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477498A (zh) * | 2003-07-03 | 2004-02-25 | 复旦大学 | 高速、可配置的一维离散小波变换vlsi结构 |
CN101105940A (zh) * | 2007-06-27 | 2008-01-16 | 北京中星微电子有限公司 | 音频编解码的量化方法、反变换方法及音频编解码装置 |
CN101404772A (zh) * | 2008-11-19 | 2009-04-08 | 中国科学院光电技术研究所 | 基于小波变换的vlsi图像压缩编码器 |
CN101833424A (zh) * | 2010-03-26 | 2010-09-15 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN101867809A (zh) * | 2010-04-09 | 2010-10-20 | 中国科学院光电技术研究所 | 基于脉动阵列的高速图像压缩vlsi编码方法及编码器 |
CN102156588A (zh) * | 2011-03-16 | 2011-08-17 | 中国科学院上海技术物理研究所 | 一种嵌入式红外实时信号处理*** |
CN102186076A (zh) * | 2011-04-29 | 2011-09-14 | 中国科学院光电技术研究所 | 一种实时码率预分配的图像压缩方法及图像压缩装置 |
Non-Patent Citations (1)
Title |
---|
适合于高分辨力航测图像压缩的低复杂度算法;李其虎 等;《电视技术》;20111231;第35卷(第17期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102833546A (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102833546B (zh) | 基于小波子带交织最优量化的高速图像压缩方法及装置 | |
JP3792789B2 (ja) | 符号化装置 | |
JP3693988B2 (ja) | 通信管理システム及び通信管理方法 | |
CN101404772B (zh) | 基于小波变换的vlsi图像压缩编码器 | |
CN105578190A (zh) | 应用于视频硬解码的无损压缩方法及*** | |
Chew et al. | Low–memory video compression architecture using strip–based processing for implementation in wireless multimedia sensor networks | |
CN101267558A (zh) | Jpeg2000标准中基于码块的低存储编码器及其编码方法 | |
Son et al. | Low complexity embedded compression algorithm for reduction of memory size and bandwidth requirements in the JPEG2000 encoder | |
US9531915B2 (en) | Image encoding system and method thereof | |
Li et al. | A three-level parallel high-speed low-power architecture for EBCOT of JPEG 2000 | |
Rein et al. | Scalable line-based wavelet image coding in wireless sensor networks | |
CN104053011B (zh) | 应用于jpeg2000解码器中的二维离散小波逆变换器 | |
CN101754014B (zh) | 信息处理设备和方法 | |
Sandhu et al. | Matlab Based Image Compression Using Various Algorithms | |
KR102247196B1 (ko) | 병렬 디코딩 경로를 사용하는 vc2 디코딩 | |
Lone et al. | A novel hardware-efficient spatial orientation tree-based image compression algorithm and its field programmable gate array implementation | |
Wu et al. | Analysis and architecture design for high performance JPEG2000 coprocessor | |
CN110365990A (zh) | 一种窄带准无损视频编码*** | |
US8467619B2 (en) | Image compressing apparatus, image compressing method, image decompressing apparatus, and storage medium | |
CN111316645A (zh) | 编码器、编码***和编码方法 | |
Liu et al. | A high throughput JPEG2000 entropy decoding unit architecture | |
CN103533357B (zh) | 基于fpga的多级复用小波变换器 | |
Hsin et al. | An adaptive coding pass scanning algorithm for optimal rate control in biomedical images | |
JP2011003946A (ja) | 画像符号化復号化方法及び装置 | |
Çekli et al. | Enhanced SPIHT algorithm with pipelined datapath architecture design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150304 Termination date: 20210821 |
|
CF01 | Termination of patent right due to non-payment of annual fee |