CN103702133A - 一种图像压缩展示方法及其装置 - Google Patents
一种图像压缩展示方法及其装置 Download PDFInfo
- Publication number
- CN103702133A CN103702133A CN201310701797.3A CN201310701797A CN103702133A CN 103702133 A CN103702133 A CN 103702133A CN 201310701797 A CN201310701797 A CN 201310701797A CN 103702133 A CN103702133 A CN 103702133A
- Authority
- CN
- China
- Prior art keywords
- character
- template
- group
- image compression
- steps
- 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.)
- Granted
Links
- 230000006835 compression Effects 0.000 title claims abstract description 68
- 238000007906 compression Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000001747 exhibiting effect Effects 0.000 claims description 34
- 238000000605 extraction Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 6
- 230000006872 improvement Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种图像压缩展示方法及其装置,其图像压缩展示方法,包括:A、提取图像中的信源符号,扫描所述信源符号,统计连续出现的字符,得到至少一个字符组,所述字符组携带对应的字符及其重复次数;B、根据所述重复次数计算对应字符出现的频率、进行哈夫曼编码、获取压缩后的图像数据。本发明通过对现有Huffman编码算法进行改进,能减少甚至消除Huffman编码算法中溢出的问题。特别是针对原始图像数据高度相关的,含有大量的冗余信息的情况,能减少冗余压缩数据,提高图片的编码质量,使图片压缩存储速度更快、图片还原效果更好。
Description
技术领域
本发明涉及图像压缩编码技术领域,特别涉及一种图像压缩展示方法及其装置。
背景技术
现有数字图像处理(Digital Image Processing)又称为计算机图像处理,其是将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像经过压缩编码后能减少描述图像的数据量(即比特数),以便节省图像的传输时间、处理时间和减少所占用的存储器容量。图像压缩能减少表示数字图像时需要的数据量,以较少的比特有损或无损地表示原来的像素矩阵,也称图像编码。图像展示时需要先解压缩,将图像信息从已经编码的形式恢复到编码前的原图像。
现阶段常用的图片压缩算法有Huffman(哈夫曼)编码压缩算法,这种编码方法根据源数据各信号发生的概率进行编码,如在源数据中出现概率越大的信号,分配的字码越短;出现概率越小的信号,其字码的码长就越长,从而达到以尽可能少的码来表示源数据。
但是Huffman编码压缩算法在实际使用中存在一定的缺陷:在压缩的过程中编码花费时间长,并且字符容易溢出,压缩效率不高。另外由于Huffman算法是基于词频统计的,更适用于有大量重复单词的情况,因此实用性不强。
发明内容
本发明的目的在于提供一种图像压缩展示方法及其装置,以解决现有技术中压缩效率不高的问题。
为了达到上述目的,本发明采取了以下技术方案:
一种图像压缩展示方法,其包括:
A、提取图像中的信源符号,扫描所述信源符号,统计连续出现的字符,得到至少一个字符组,所述字符组携带对应的字符及其重复次数;
B、根据所述重复次数计算对应字符出现的频率、进行哈夫曼编码,获取压缩后的图像数据。
所述的图像压缩展示方法,其中,所述步骤A具体包括:
A1、提取图像中的信源符号;
A2、从第一个字符开始扫描信源符号,基于预设模板,统计连续出现的字符,获取对应的字符组。
所述的图像压缩展示方法,其中,所述步骤A2具体包括:
A21、将第一个字符作为模板,开始向后扫描;
A22、从模板开始向后依次扫描预设个字符,判断是否有与模板相同且连续出现的字符:若有,执行步骤A23;若没有,执行步骤A24;其中所述预设个字符为2N个字符,N为预设重复字符个数,且N为大于等于2的正整数;
A23、统计该模板对应的字符连续重复的次数,获得对应字符组;将重复字符的下一位字符作为模板,返回步骤A22;
A24、记录与当前模板的第一位字符对应的字符组,修正当前模板,判断所述2N个字符内是否有与所修正模板相同且连续出现的字符:若有则执行步骤A23;否则继续修正模板,直到修正模板的字符个数等于N,以该修正模板的下一个字符为模板,转到步骤A22;
A25、若当前模板的最后一位字符为所述信源符号的最后一个字符,则停止,存储所获得字符组。
所述的图像压缩展示方法,其中,所述步骤A24具体包括:
A241、记录与当前模板的第一个字符对应的字符组,以当前模板以及顺延1位的字符作为假设模板,判断当前所扫描的2N个字符内是否有与该假设模板相同且连续出现的字符,若有则执行步骤A242,否则执行步骤A243;
A242、统计该假设模板对应的字符连续重复的次数,获得对应的字符组,将该假设模板的下一个字符作为模板,返回所述步骤A22;
A243、记录与所述假设模板的第一个字符对应的字符组,以所述假设模板及顺延1个字符作为修正模板,判断当前所扫描的2N个字符内是否有与所述修正模板相同且连续出现的字符,若有则执行步骤A244,否则转到A245;
A244、统计该修正模板对应的字符连续重复的次数,获得对应的字符组;将该修正模板的下一个字符作为模板,返回步骤A22;
A245、记录与该修正模板的第一个字符对应的字符组,将所述修正模板向后增加一个字符,继续变换模板,判断当前所扫描的2N个字符内是否有与当前模板相同且连续出现的字符,直到当前模板的字符个数等于N,返回步骤A22。
所述的图像压缩展示方法,其中,所述步骤A245中还包括:所述直到当前模板的字符个数等于N,返回步骤A22具体为:
A2450、若当前模板的字符个数等于N,判断当前扫描的2N个字符内是否有与当前模板相同且连续出现的字符,若是则转向步骤A2451,否则转向步骤A2452;
A2451、则以当前模板的下一位字符为模板,转到步骤A22;
A2452、以当前模板的第一位字符为模板,转到步骤A22。
所述的图像压缩展示方法,其中,所述步骤A之后还包括:
a1、对所获取与预设字符个数对应的字符组进行排列,得到一列字符组;
a2、判断该一列相邻的字符组携带的字符是否完全一致,如果一致,则将相邻的字符组组合在一起,得到整理后的一列字符组。
所述的图像压缩展示方法,其中,所述步骤a2之后还包括:
a3、分析每一列字符组,选择字符组数量最少的一列字符组作为最佳一列字符组,转到步骤B。
所述的图像压缩展示方法,其中,所述步骤B具体包括:
B1、根据重复次数计算出字符组中每个字符出现的频率;
B2、按照频率大小排列字符、构建哈夫曼树;
B3、对哈夫曼树的分支进行标记,获得每个字符的码字,得到压缩后的图像数据。
所述的图像压缩展示方法,其中,在所述步骤B之后,还包括:
C、对压缩后的图像数据进行解码展示。
一种图像压缩展示装置,其包括:
字符处理模块,用于提取图像中的信源符号,扫描所述信源符号,统计连续出现的字符,得到至少一个字符组,所述字符组携带对应的字符及其重复次数;
压缩编码模块,用于根据重复次数计算对应字符出现的频率、进行哈夫曼编码、获取压缩后的图像数据。
相较于现有技术,本发明提供的图像压缩展示方法及其装置,对现有的Huffman编码算法进行改进,提取图像中的信源符号,扫描所述信源符号,统计连续出现的字符,得到至少一个字符组,所述字符组携带对应的字符及其重复次数,根据所述重复次数计算对应字符出现的频率,最后构建哈夫曼树获得编码;这种改进后的算法减少甚至消除了Huffman编码算法中溢出的问题。特别是针对原始图像数据高度相关的,含有大量的冗余信息的情况,能减少冗余压缩数据,提高图片的编码质量,使图片压缩存储速度更快、图片还原效果更好。
附图说明
图1为本发明提供的图像压缩展示方法的方法流程图。
图2为本发明提供的图像压缩展示方法中哈夫曼树的示意图。
图3为本发明提供的图像压缩展示的结构框图。
具体实施方式
本发明提供一种图像压缩展示方法及其装置,对现有的Huffman编码算法进行改进,。为了便于理解,本实施例先对哈夫曼编码算法进行解释。
哈夫曼编码(Huffman Coding)是一种图片处理的编码方式。Huffman编码算法的核心是构建哈夫曼树,它也是连接编码解码的纽带。编码时从叶节点逐步构建中间节点,到整颗树。树的节点包括的信息有:节点表示的字符,子字节的位置,字符出现的频度,父节点的位置等,这些都是构造哈夫曼树所需要的。而解码时,只需要能够根据位序列从树的根节点循次遍历到叶节点,叶节点保留其表示的字符。
为此,本发明基于图片无损压缩算法的应用,在现有Huffman编码的基础上提出一种改进编码算法。先统计出信源符号中连续重复的字符,根据每个字符出现的次数计算其概率,最后构建哈夫曼树。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,其为本发明提供的图像压缩展示方法的方法流程图。本发明提供的图像压缩展示方法包括:
S100、提取图像中的信源符号,扫描所述信源符号,统计连续出现的字符,得到至少一个字符组,所述字符组携带对应的字符及其重复次数;
S200、根据所述重复次数计算对应字符出现的频率、进行哈夫曼编码,获取压缩后的图像数据。
由于图像的类型较多,如黑白图像,彩色照片。颜色差异决定了信源符号中字符的总个数及频率。因此,本发明需要对一图像按照不同的重复字节个数各统计一次连续出现的字符,获得相应的字符组。对每次编码结果进行比较,以编码后字符组最短的为准,后续对该字符组进行哈夫曼编码。则所述步骤S100具体包括:
步骤1、提取图像中的信源符号;
步骤2、从第一个字符开始扫描信源符号,基于预设模板,统计连续出现的字符,获取对应的字符组。
其中,所述步骤2具体包括:
步骤21、将第一个字符作为模板,开始向后扫描。
信源符号中有多个字符,每个字符出现的位置和次数是固定。对这些从左到右排列的字符定位,先设定最左边的第一个字符、即第一位的字符作为模板。
步骤22、从模板开始向后依次扫描预设个字符,判断是否有与模板相同且连续出现的字符:若有,执行步骤23;若没有,执行步骤24;其中,所述预设个字符为M个,而所述M=2N或M=2N-1,N为预设重复字节个数,N为大于等于2的正整数。
本实施例中,M的取值可以为偶数或奇数,与信源符号的字符总数关联,字符总数为奇数时M=2N-1;字符总数为偶数时M=2N。应当理解的是,M=2N或M=2N-1是本实施例的优选方案,而选择模板中字符的个数时,若M为偶数,则所述字符的个数应该小于或等于M/2,当M为奇数时,所述字符的个数应该为小于或等于(M-1)/2。在具体实施时,为了突出扫描字符串中,保证有足够的字符来分析是否连续出现某字符,此外还可以是其他数字,此处对此不作限制。模板可以为1个字符,2个不同的字符,或者7个不同的字符,此处对此不作限定。由所述N值可确定模板中不同字符的个数最多只能为N个。第一次扫描时先以1个字符为模板,查找后面该字符是否连续出现多次。
步骤23、统计该模板对应的字符连续重复的次数,获得对应字符组;将重复字符的下一位字符作为模板,返回步骤22。其中,字符组可以{XY}的方式标记,Y表示模板对应的字符,X表示该字符重复的次数。当1个字符连续重复出现的情况被标记后,需要设置另一个模板进行后续扫描,本实施例以重复字符的后一位字符作为新的模板。
步骤24、记录与当前模板的第一位字符对应的字符组,修正当前模板,判断所述2N个字符内是否有与所修正模板相同且连续出现的字符:若有则执行步骤23;否则继续修正模板,直到修正模板的字符个数等于N(为了便于说明,此处优选所述M为2N,N为大于等于2的自然数),以该修正模板的下一个字符为模板,转到步骤22。
步骤25、若当前模板的最后一位字符为所述信源符号的最后一个字符,则停止,存储所获得字符组。
以M=2N为例,当1个字符没有连续重复出现时,就要以2个字符为新的模板进行扫描(即修正当前模板);若2个字符也没有连续重复出现,就以3个字符为新的模板进行扫描,直至N个字符结束。所述步骤24具体包括:
步骤241、记录与当前模板的第一个字符对应的字符组,以当前模板以及顺延1位的字符作为假设模板,判断当前所扫描的2N个字符内是否有与该假设模板相同且连续出现的字符,若有则执行步骤242,否则执行步骤243。
假设当前模板内有1个字符,则假设模板以该字符以及其后一位的字符组合而成,此时模板内有2个字符。
步骤242、统计该假设模板对应的字符连续重复的次数,获得对应的字符组,将该假设模板的下一个字符作为模板,返回步骤22。
步骤243、记录与所述假设模板的第一个字符对应的字符组,以所述假设模板及顺延1个字符作为修正模板,判断当前所扫描的2N个字符内是否有与所述修正模板相同且连续出现的字符,若有则执行步骤244,否则转到步骤245。
步骤244、统计该修正模板对应的字符连续重复的次数,获得对应的字符组;将该修正模板的下一个字符作为模板,返回步骤A22。
步骤243中组合成的修正模板应为3个字符(假设模板内的2个+顺延一位的1个)。当后面的字符中,这3个字符重复出现多次,则执行步骤244来标记对应的字符组,再次设置新的模板,此时当前模板内字符的个数归1。步骤245、记录与该修正模板的第一个字符对应的字符组,将所述修正模板向后增加一个字符,继续变换模板,判断当前所扫描的2N个字符内是否有与当前模板相同且连续出现的字符,直到当前模板的字符个数等于N,返回步骤22。
若没有重复出现时继续增加模板内字符的个数,直至该个数等于N时停止增加;若此时仍没有与当前模板相同且连续出现的字符,则将该模板中的第一个字符以{1Y}的方式标记,1表示一个字符Y,Y为第一个字符,将该模板中第二个字符作为模板,返回步骤22。
其中,所述步骤245中,所述直到当前模板的字符个数等于N,返回步骤22具体为:
步骤2450、若当前模板的字符个数等于N,判断当前扫描的2N个字符内是否有与当前模板相同且连续出现的字符,若是则转向步骤2451,否则转向步骤2452;
步骤2451、则以当前模板的下一位字符为模板,转到步骤22;
步骤2452、以当前模板的第一位字符为模板,转到步骤22。
需要说明的是,在扫描过程中,判断相同且连续出现的字符时,需要设置每一次扫描的字符个数,某次扫描的字符串(例如abab,此时可能被记录成{2ab})可能与下一次扫描的前一位或多位相同(例如abab),而采用上述的统计方式则会记录成字符组{2ab}及{2ab},为了使统计效果更佳,此时需要将相邻的携带完全相同字符的字符组合并在一起(例如{4ab})。则在所述步骤S100之后,还包括字符组合并方式,其具体为:先对所获取与预设字符个数对应的字符组进行排列,得到一列字符组;接着判断该一列字符组中是否存在着相邻的字符组携带的字符是否完全一致的情况,如果一致,则将相邻的字符组组合在一起,得到整理后的一列字符组,即压缩了字符组的数量。而此合并过程可在统计的过程中进行,或者可以在全部信源符号被统计,得到至少一个字符组之后进行,此处对此不作限制。
为了便于理解,下面以一例子来描述扫描过程:
例如,一段信源符号为:ddba dbad bcdc dcdb abab abab add,共19位。
方式一、N=2,M=2N:
1、***设定2为重复字符的最大个数,即预设重复字节个数为2。将第一个字符d作为模板向后扫描至4个字节,即在ddba段内判断d是否连续重复出现。字符d连续出现2次,获得对应的字符组{2d}。
2、由于第三位的字符b与模板d不同,以重复字符d的后一位字符b为新的模板向后扫描4个字节,即在badb段内判断字符b是否连续重复出现。
3、由于字符b后面是字符a,字符b没有连续重复出现,以字符ba为模板进行扫描,模板(ba)没有连续重复出现,且字符ba以达到预设重复字节个数的最大值,将该模板中的第一个字符以{1b}的方式标记,将模板中第二个字符、即字符a(第4位)作为模板向后扫描。
4、由于字符a后面为字符d(第5位),没有连续重复出现,以字符ad为模板扫描。由于后续没有字符ad连续重复出现的情况,则标记{1a},将字符d(第5位)作为模板。
5、字符d没有连续重复出现,以字符db为模板扫描。没有字符db连续重复出现的情况,则标记{1d},将字符b(第6位)作为模板。
6、字符b(第6位)没有连续重复出现,以字符ba为模板扫描。没有字符ba连续重复出现的情况,则标记{1b},将字符a(第7位)作为模板。
7、字符a(第7位)没有连续重复出现,以字符ad为模板扫描。没有字符ad连续重复出现的情况,则标记{1a},将字符d(第8位)作为模板。
8、字符d(第8位)没有连续重复出现,以字符db为模板扫描。没有字符db连续重复出现的情况,则标记{1d},将字符b(第9位)作为模板。
9、字符b(第9位)没有连续重复出现,以字符bc为模板扫描。没有字符bc连续重复出现的情况,则标记{1b},将字符c(第10位)作为模板。
10、字符c(第10位)没有连续重复出现,以字符cd为模板扫描。
有字符cd连续重复出现3次的情况,则标记{3cd},将字符b(第15位)作为模板。
11、字符b(第15位)没有连续重复出现,以字符ba为模板扫描。有字符ba连续重复出现5次的情况,则标记{5ba},将字符d(第26位)作为模板。具体地,此步骤10及11中,省略了将{2cd}、{1cd}合并为{3cd},将{2ba}、{2ba}、{1ba}合并为{5ba}的过程。
12、字符d(第26位)有连续重复出现2次,则标记{2d},本次扫描结束。最终编码得到的字符组组合为:{2d},{1b},{1a},{1d},{1b},{1a},{1d},{1b},{3cd}, {5ba}, {2d}。
方式二、以同样的信源符号为例,以N=3,M=2N来编码,过程如下:
1、将第一个字符d作为模板,字符d连续出现2次,标记为{2d},以字符b为模板扫描。
2、字符b(第2位)没有连续重复出现,以字符ba为模板扫描。没有字符ba连续重复出现的情况,以字符bad为模板扫描。
3、字符bad有连续重复出现2次,则标记{2bad},将字符b(第9位)作为模板。
4、字符b(第9位)没有连续重复出现,以字符bc为模板扫描。没有字符bc连续重复出现的情况,以字符bcd为模板扫描。
5、字符bcd没有有连续重复出现,则标记{1b},将字符c(第10位)作为模板。
6、字符c(第10位)没有连续重复出现,以字符cd为模板扫描。有字符cd连续重复出现3次,则标记{3cd},将字符b(第15位)作为模板。
7、字符b(第15位)没有连续重复出现,以字符ba为模板扫描。有字符ba连续重复出现5次的情况,则标记{5ba},将字符d(第26位)作为模板。
8、字符d(第26位)有连续重复出现2次,则标记{2d},本次扫描结束。最终编码得到的字符组组合为:{2d}, {2bad}, {1b}, {3cd}, {5ba}, {2d}。此步骤7及8的过程中,首先出现了{3ba}、{2ba},省略了将{3ba}、{2ba}合并为{5ba}的过程。
按照上述方式对N取不同值可得到不同的字符组。本实施例中对N的取值不作限定。为了减少编码压缩时间、获得更佳的压缩效果,在得到多列字符组后,可分析每一列字符组,选择字符组数量最少的一列字符组作为最佳一列字符组,然后再执行步骤S200。
在具体实施时,可选择不同的N值执行步骤S100以及相关步骤获得多个字符组组合,比较多个字符组组合的长度、即{XY}的个数。以字符组组合最短(即{XY}最少)的N值为预设重复字节个数,并以该字符组组合作为哈夫曼编码的依据,执行步骤S200;此为综合比较得出的最优编码压缩方式。本实施例中,方式二的编码效果明显优于方式一的编码效果。下面以方式二的编码结果构建哈夫曼树。则步骤S200具体包括:
第一步、根据重复次数计算出字符组中每个字符出现的频率。
【{2d}, {2bad}, {1b}, {3cd}, {5ba}, {2d}】出现的概率相应为【0.1333,0.1333,0.0667,0.2,0.3333,0.1333】。计算结果有循环,以四舍五入法取值。
第二步、按照频率大小排列字符、构建哈夫曼树。
排序为:【 {5ba}, {3cd},{2d}, {2bad}, {2d},{1b}】,构建的哈夫曼树如图3所示。
第三步、对哈夫曼树的分支进行0、1标记,获得每个字符的码字,得到压缩后的图像数据。
【{2d}, {2bad}, {1b}, {3cd}, {5ba}, {2d}】对应的哈夫曼编码为:110、010、000、01、11、100。
需要展示该图像时,对压缩后的图像数据进行解码展示即可,解码为上述编码的逆运算,此处对此不作详述。
本实施例先统计重复码再进行哈夫曼编码,对防止现有技术在存储过程中的溢出起到了改进作用。特别是针对原始图像数据高度相关的,含有大量的冗余信息。这种改进的Huffman编码压缩算法能消除图片信息中的各种冗余,从而达到减少冗余压缩数据的目的,使它符合预定应用场合的要求。
基于上述的图像压缩展示方法,本发明还相应提供一种图像压缩展示装置,其包括字符处理模块101、压缩编码模块102和展示模块103。字符处理模块101提取图像中的信源符号,扫描所述信源符号,统计连续出现的字符,得到至少一个字符组,所述字符组携带对应的字符及其重复次数。压缩编码模块102根据所述重复次数计算对应字符出现的频率、进行哈夫曼编码,获取压缩后的图像数据。
用户需要观看图像时,由展示模块103检索到某一图像后,对其压缩后的图像数据进行解码展示,其解码的过程为压缩编码的逆向运算,能无损还原原始图像。该展示模块103还可以提供不同的展示风格,如添加不同类型的相框,或者增加柔光、淡雅、复古等特效。
对于图像、照片数量较多的情况,所述图像压缩展示装置还包括数据采集模块104;其对图像、照片进行采集、筛选后进行临时存储,存储采用文件存储的方式进行组织,并在必要时进行数据的传输工作,是该装置的入口模块,后续功能的开展依赖此模块的正常使用。
本发明提供的图像压缩展示装置适用于对任何图片、照片,特别是颜色较为复杂的图像的压缩编码,其可以设置在移动终端上,也可以设置在PC机上。所述数据采集模块也可以设置在其他终端上,则此时的图像压缩展示装置仅具有压缩展示功能。特别地,本发明适用于智能电视(包括压缩编码模块、展示模块、初始化模块)的相片展示应用。当智能终端(包括数据采集模块)拍摄照片后通过有线或无线方式(采用IEEE802.11WLAN无线传输标准)上传给智能电视。智能电视中的压缩编码模块对照片采取上述实施例的方法进行无损压缩编码后保存。当需要观看某一照片时,展示模块对压缩后的图像数据进行解码展示即可。
综上所述,本发明在现有Huffman编码的基础上提出一种改进编码算法,先统计出信源符号中连续出现的字符,得到携带对应的字符及其重复次数的字符组,以字符组最少一组为哈夫曼编码的依据,根据每个字符重复的次数计算其频率,最后构建哈夫曼树获得编码。这种改进后的算法减少甚至消除了Huffman编码算法中溢出的问题。特别是针对原始图像数据高度相关的,含有大量的冗余信息的情况,能减少冗余压缩数据,提高图片的编码质量,使图片压缩存储速度更快、图片还原效果更好,更符合预定应用场合的要求。
另外,本发明适用于智能电视的照片展示应用,使用户便捷的体验智能终端与智能电视的融合交互,能生成高质量的展示效果,提高了用户的体验度。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种图像压缩展示方法,其特征在于,包括:
A、提取图像中的信源符号,扫描所述信源符号,统计连续出现的字符,得到至少一个字符组,所述字符组携带对应的字符及其重复次数;
B、根据所述重复次数计算对应字符出现的频率、进行哈夫曼编码,获取压缩后的图像数据。
2.根据权利要求1所述的图像压缩展示方法,其特征在于,所述步骤A具体包括:
A1、提取图像中的信源符号;
A2、从第一个字符开始扫描信源符号,基于预设模板,统计连续出现的字符,获取对应的字符组。
3.根据权利要求2所述的图像压缩展示方法,其特征在于,所述步骤A2具体包括:
A21、将第一个字符作为模板,开始向后扫描;
A22、从模板开始向后依次扫描预设个字符,判断是否有与模板相同且连续出现的字符:若有,执行步骤A23;若没有,执行步骤A24;其中所述预设个字符为2N个字符,N为预设重复字符个数,且N为大于等于2的正整数;
A23、统计该模板对应的字符连续重复的次数,获得对应字符组;将重复字符的下一位字符作为模板,返回步骤A22;
A24、记录与当前模板的第一位字符对应的字符组,修正当前模板,判断所述2N个字符内是否有与所修正模板相同且连续出现的字符:若有则执行步骤A23;否则继续修正模板,直到修正模板的字符个数等于N,以该修正模板的下一个字符为模板,转到步骤A22;
A25、若当前模板的最后一位字符为所述信源符号的最后一个字符,则停止,存储所获得字符组。
4.根据权利要求3所述的图像压缩展示方法,其特征在于,所述步骤A24具体包括:
A241、记录与当前模板的第一个字符对应的字符组,以当前模板以及顺延1位的字符作为假设模板,判断当前所扫描的2N个字符内是否有与该假设模板相同且连续出现的字符,若有则执行步骤A242,否则执行步骤A243;
A242、统计该假设模板对应的字符连续重复的次数,获得对应的字符组,将该假设模板的下一个字符作为模板,返回所述步骤A22;
A243、记录与所述假设模板的第一个字符对应的字符组,以所述假设模板及顺延1个字符作为修正模板,判断当前所扫描的2N个字符内是否有与所述修正模板相同且连续出现的字符,若有则执行步骤A244,否则转到A245;
A244、统计该修正模板对应的字符连续重复的次数,获得对应的字符组;将该修正模板的下一个字符作为模板,返回步骤A22;
A245、记录与该修正模板的第一个字符对应的字符组,将所述修正模板向后增加一个字符,继续变换模板,判断当前所扫描的2N个字符内是否有与当前模板相同且连续出现的字符,直到当前模板的字符个数等于N,返回步骤A22。
5.根据权利要求4所述的图像压缩展示方法,其特征在于,所述步骤A245中还包括:所述直到当前模板的字符个数等于N,返回步骤A22具体为:
A2450、若当前模板的字符个数等于N,判断当前扫描的2N个字符内是否有与当前模板相同且连续出现的字符,若是则转向步骤A2451,否则转向步骤A2452;
A2451、则以当前模板的下一位字符为模板,转到步骤A22;
A2452、以当前模板的第一位字符为模板,转到步骤A22。
6.根据权利要求1所述的图像压缩展示方法,其特征在于,所述步骤A之后还包括:
a1、对所获取与预设字符个数对应的字符组进行排列,得到一列字符组;
a2、判断该一列相邻的字符组携带的字符是否完全一致,如果一致,则将相邻的字符组组合在一起,得到整理后的一列字符组。
7.根据权利要求6所述的图像压缩展示方法,其特征在于,所述步骤a2之后还包括:
a3、分析每一列字符组,选择字符组数量最少的一列字符组作为最佳一列字符组,转到步骤B。
8.根据权利要求1所述的图像压缩展示方法,其特征在于,所述步骤B具体包括:
B1、根据重复次数计算出字符组中每个字符出现的频率;
B2、按照频率大小排列字符、构建哈夫曼树;
B3、对哈夫曼树的分支进行标记,获得每个字符的码字,得到压缩后的图像数据。
9.根据权利要求1所述的图像压缩展示方法,其特征在于,在所述步骤B之后,还包括:
C、对压缩后的图像数据进行解码展示。
10.一种图像压缩展示装置,其特征在于,包括:
字符处理模块,用于提取图像中的信源符号,扫描所述信源符号,统计连续出现的字符,得到至少一个字符组,所述字符组携带对应的字符及其重复次数;
压缩编码模块,用于根据重复次数计算对应字符出现的频率、进行哈夫曼编码、获取压缩后的图像数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310701797.3A CN103702133B (zh) | 2013-12-19 | 2013-12-19 | 一种图像压缩展示方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310701797.3A CN103702133B (zh) | 2013-12-19 | 2013-12-19 | 一种图像压缩展示方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103702133A true CN103702133A (zh) | 2014-04-02 |
CN103702133B CN103702133B (zh) | 2017-10-24 |
Family
ID=50363518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310701797.3A Expired - Fee Related CN103702133B (zh) | 2013-12-19 | 2013-12-19 | 一种图像压缩展示方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103702133B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486434A (zh) * | 2014-12-23 | 2015-04-01 | 深圳供电局有限公司 | 一种移动终端文件上传、下载的方法及移动终端 |
CN106788993A (zh) * | 2016-12-02 | 2017-05-31 | 乐视控股(北京)有限公司 | 一种加密通信方法、装置及电子设备 |
CN109996077A (zh) * | 2019-01-08 | 2019-07-09 | 武汉精立电子技术有限公司 | 一种适用于显示面板检测的逻辑图像解压方法 |
CN110032470A (zh) * | 2019-03-18 | 2019-07-19 | 长安大学 | 一种基于哈夫曼树的异构部分重复码的构造方法 |
CN113163198A (zh) * | 2021-03-19 | 2021-07-23 | 北京百度网讯科技有限公司 | 图像压缩方法、解压方法、装置、设备及存储介质 |
CN114137348A (zh) * | 2021-11-29 | 2022-03-04 | 国网湖南省电力有限公司 | 一种配电终端智能联调验收方法和验收设备 |
CN116865768A (zh) * | 2023-08-31 | 2023-10-10 | 临沂安迪电气有限公司 | 一种plc设备数据优化存储方法 |
CN116980492A (zh) * | 2023-09-20 | 2023-10-31 | 新誉集团有限公司 | Can数据的传输方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1069604A (zh) * | 1991-08-19 | 1993-03-03 | 周锡卫 | 一种信源符号序列的具有特征码计长编码方法 |
CN1248863A (zh) * | 1998-09-17 | 2000-03-29 | 汤姆森多媒体公司 | 图形数据压缩方法 |
US6137428A (en) * | 1999-04-27 | 2000-10-24 | Unisys Corporation | Data compression method and apparatus with embedded run-length encoding using mathematical run processing |
TW200623657A (en) * | 2004-12-30 | 2006-07-01 | Inventec Besta Co Ltd | Compressing method for statistical data characteristics by finite exhaustive optimization |
CN101036298A (zh) * | 2004-08-06 | 2007-09-12 | 模拟装置公司 | 静态赫夫曼解码的***和方法 |
US20080174459A1 (en) * | 2007-01-24 | 2008-07-24 | Samsung Electronics Co., Ltd. | Apparatus and method of dynamically caching symbols to manage a dictionary in a text image coding and decoding system |
CN103236847A (zh) * | 2013-05-06 | 2013-08-07 | 西安电子科技大学 | 基于多层哈希结构与游程编码的数据无损压缩方法 |
-
2013
- 2013-12-19 CN CN201310701797.3A patent/CN103702133B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1069604A (zh) * | 1991-08-19 | 1993-03-03 | 周锡卫 | 一种信源符号序列的具有特征码计长编码方法 |
CN1248863A (zh) * | 1998-09-17 | 2000-03-29 | 汤姆森多媒体公司 | 图形数据压缩方法 |
US6137428A (en) * | 1999-04-27 | 2000-10-24 | Unisys Corporation | Data compression method and apparatus with embedded run-length encoding using mathematical run processing |
CN101036298A (zh) * | 2004-08-06 | 2007-09-12 | 模拟装置公司 | 静态赫夫曼解码的***和方法 |
TW200623657A (en) * | 2004-12-30 | 2006-07-01 | Inventec Besta Co Ltd | Compressing method for statistical data characteristics by finite exhaustive optimization |
US20080174459A1 (en) * | 2007-01-24 | 2008-07-24 | Samsung Electronics Co., Ltd. | Apparatus and method of dynamically caching symbols to manage a dictionary in a text image coding and decoding system |
CN103236847A (zh) * | 2013-05-06 | 2013-08-07 | 西安电子科技大学 | 基于多层哈希结构与游程编码的数据无损压缩方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486434A (zh) * | 2014-12-23 | 2015-04-01 | 深圳供电局有限公司 | 一种移动终端文件上传、下载的方法及移动终端 |
CN106788993A (zh) * | 2016-12-02 | 2017-05-31 | 乐视控股(北京)有限公司 | 一种加密通信方法、装置及电子设备 |
CN109996077A (zh) * | 2019-01-08 | 2019-07-09 | 武汉精立电子技术有限公司 | 一种适用于显示面板检测的逻辑图像解压方法 |
CN110032470A (zh) * | 2019-03-18 | 2019-07-19 | 长安大学 | 一种基于哈夫曼树的异构部分重复码的构造方法 |
CN110032470B (zh) * | 2019-03-18 | 2023-02-28 | 长安大学 | 一种基于哈夫曼树的异构部分重复码的构造方法 |
CN113163198A (zh) * | 2021-03-19 | 2021-07-23 | 北京百度网讯科技有限公司 | 图像压缩方法、解压方法、装置、设备及存储介质 |
CN114137348A (zh) * | 2021-11-29 | 2022-03-04 | 国网湖南省电力有限公司 | 一种配电终端智能联调验收方法和验收设备 |
CN114137348B (zh) * | 2021-11-29 | 2023-11-24 | 国网湖南省电力有限公司 | 一种配电终端智能联调验收方法和验收设备 |
CN116865768A (zh) * | 2023-08-31 | 2023-10-10 | 临沂安迪电气有限公司 | 一种plc设备数据优化存储方法 |
CN116865768B (zh) * | 2023-08-31 | 2023-11-21 | 临沂安迪电气有限公司 | 一种plc设备数据优化存储方法 |
CN116980492A (zh) * | 2023-09-20 | 2023-10-31 | 新誉集团有限公司 | Can数据的传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103702133B (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103702133A (zh) | 一种图像压缩展示方法及其装置 | |
CN102104764B (zh) | 一种图像序列的压缩存储处理方法 | |
CN1681330B (zh) | 自适应2n叉树生成方法及3D体数据编码和解码方法和设备 | |
CN102244784B (zh) | 含透明信息图片压缩和显示的方法 | |
US20020106019A1 (en) | Method and apparatus for implementing motion detection in video compression | |
CN109743570B (zh) | 一种屏幕内容视频的压缩方法 | |
CN101107838A (zh) | 编码装置、编码方法与编码程序以及摄像装置 | |
US20220222861A1 (en) | Method, device, and storage medium for data encoding/decoding | |
CN109657769A (zh) | 一种基于游程编码的二维码信息隐藏方法 | |
CN116489369B (zh) | 一种行车数字录像压缩处理方法 | |
CN109587431A (zh) | 一种多路视频码流合并方法、装置、设备和存储介质 | |
JP5913748B2 (ja) | セキュアで損失のないデータ圧縮 | |
CN107343203B (zh) | 基于open-exr图像的jpeg无损压缩方法 | |
KR101023536B1 (ko) | 데이터 무손실 압축 방법 | |
CN111447451B (zh) | 图像编码、解码方法及装置 | |
CN110191341B (zh) | 一种深度数据的编码方法和解码方法 | |
CN102651795B (zh) | 游长缩减的二元序列压缩编码方法 | |
US8446299B2 (en) | Method and device for encoding and decoding of data in unique number values | |
CN106941610B (zh) | 基于改进方块编码的二值roi掩模编码方法 | |
JPH03188768A (ja) | 画像圧縮装置 | |
CN108184113B (zh) | 一种基于图像间参考的图像压缩编码方法和*** | |
JP6526629B2 (ja) | 特に「レンジコーダ」又は算術圧縮による,特に圧縮画像を符号化する方法 | |
CN112887729B (zh) | 图像编解码的方法和装置 | |
KR101573983B1 (ko) | 데이터 압축 및 데이터 복원 방법과 장치 | |
JP2001217722A (ja) | 情報符号化装置及び情報符号化方法及びコンピュータ読み取り可能な記憶媒体 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171024 |
|
CF01 | Termination of patent right due to non-payment of annual fee |