CN105376580B - 一种图像压缩方法 - Google Patents
一种图像压缩方法 Download PDFInfo
- Publication number
- CN105376580B CN105376580B CN201511003005.0A CN201511003005A CN105376580B CN 105376580 B CN105376580 B CN 105376580B CN 201511003005 A CN201511003005 A CN 201511003005A CN 105376580 B CN105376580 B CN 105376580B
- Authority
- CN
- China
- Prior art keywords
- frames
- data
- image
- identification code
- pixel
- 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
本发明提出了一种图像压缩方法,将新采集的图像Ni帧与之前采集图像Ni‑1帧和Ni‑2帧的原始数据按对应像素逐一进行比对,并输出一个表征比对结果的标识码,根据标识码修正新图像Ni帧中的像素值原始数据并进行储存。本发明方法使用连续的3帧图像进行比对以消除数据微小波动的影响,减少存储数据量,提高数据压缩比例,保证数据存储完整,满足市场主流硬盘以现有的写入速度完成数据存储的技术问题。本发明方法使用简单,能广泛运用到各种配置的PC,以及嵌入式或者是FPGA系统中。
Description
技术领域
本发明属于数字图像处理的技术领域,具体涉及一种图像压缩方法。
背景技术
近年来,随着人们对高清画质的不断追求,数字技术快速发展。在高速图像传感器应用中,图像传感器的帧率极高,每秒已经可以达到180帧以上,同时图像的像素也在不断的提高。
目前主流传感器,其规格已达400w像素,每秒180帧,AD采样精度都在10~12位,甚至更高。而连续拍摄所采集的巨大的数据存储量对储存设备的写入速度也有极高的要求。举例说,一个400W像素、每秒180帧的图像传感器,按照一个像素的位宽为12位计算,考虑字节对齐,其实际占用字节为16位,那么拍摄一秒钟的数据流量为180x 4000000x 2=1440M约1.4G字节,通过行进字节对齐的缩减,数据流量也需约1.2G字节。
市场上的存储设备中,代表性的硬盘主要有机械式硬盘和SSD固态硬盘。普通机械硬盘写入速度在每秒200M以下,SSD固态硬盘在每秒500M以下。也就是说,使用普通机械硬盘,其实时存储速度为30帧/每秒,使用SSD固态硬盘则为约60-70帧/每秒的速度。可见,上述硬盘性能只能完成主流图像传感器15%-40%的实时存储量,它们的写入速度远不能满足正常储存要求。而作为存储设备的另一个分支:嵌入式领域,因为多数采用TF卡,SD卡等进行储存,其写入速度更低,在4K分辨率下也完全不能满足主流传感器的存储需求。于是,便出现了图像的采集与储存之间的不匹配。
业界常规的解决手段是在现有技术的基础上利用软件与硬件结合,通过压缩采集图像来缓解数据存储的问题,先由软件对采集的原始数据进行编码,压缩其数据量,再存储经压缩的数据,以减少实际存储数据量的方法缓解大量的采集数据与存储迟缓之间的矛盾。然而,常用的压缩软件都有明显的局限性,例如:
①bzip和winrar,虽然是无损压缩,但对原始图像数据的压缩率非常低,对数据量较少作用不大;
②JPG,PNP等针对图像的压缩方法虽然压缩率高,但都是有损压缩,其数据压缩是不可逆的,也就是压缩完成后原始数据不可恢复;
③JPEG2000虽然是无损压缩,但方法复杂,运行会增加CPU的负荷,即便是高性能的CPU也无法满足每秒上百帧的图像数据的运算;
④H264/MPEG等视频压缩方法,方法复杂,也是不可恢复的有损失压缩。
由此可见,需要提出一种图像压缩方法,减少存储数据量,提高数据压缩比例,保证数据存储完整,满足市场主流硬盘以现有的写入速度完成数据储存的方法。该方法应该简单,且不需要增加硬件配置。
发明内容
本发明所要解决的技术问题是减少存储数据量,提高数据压缩比例,保证数据存储完整,满足市场主流硬盘以现有的写入速度完成数据存储。
为解决上述技术问题,提出的解决方案为提出一种图像方法,其特征在于,将新采集的图像Ni帧与之前采集图像Ni-1帧和Ni-2帧的原始数据按对应像素逐一进行比对,并输出一个表征比对结果的标识码,根据标识码修正新图像Ni帧中的像素值原始数据并进行储存;
可选的,Ni帧图像分别与Ni-1帧和Ni-2帧图像对应像素的原始数据按设定的比较项目逐项进行比对,当比对结果相等时,仅输出并存储标识码作为比对数据结果,当结果不相等时,将标识码与Ni帧图像原始像素值共同作为比对结果输出并存储;
可选的,设定的比较项目将一个2位二进制的标识码作为比对结果输出;
可选的,所述输出一个2位二进制的标识码的设定的比较项目含下列比较项:
①新图像Ni帧与Ni-1帧相等;
②新图像Ni帧与Ni-2帧相等;
③新图像Ni帧与Ni-1帧和Ni-2帧的平均值相等;
④新图像Ni帧与Ni-1帧和Ni-2帧的平均值不相等;
优选的,2位二进制的标识码00、01、10、11,分别作为比较项1,2,3,4的比对结果输出。
图像传感器被广泛的运用在数字图像采集、视频监控,以及与拍照、摄像相关的各类设备中。随着人们对高清画质的不断追求,图像传感器的性能也有极大的提升,其帧率和像素都大幅度提高,可以达到400w像素,每秒180帧,AD采样数据精度为10—12位甚至更高。
为了减少存储数据量,提高数据压缩比例,保证数据存储完整,满足市场主流硬盘以现有的写入速度完成高速数据的储存的需求,本发明提出了一种图像压缩方法,在连续图像采集的过程中,利用CPU内存中保留的之前最近采集的两帧图像:图像Ni-1帧和Ni-2帧,将其与采集的新图像Ni帧,按像素逐个进行原始数据之间的比对,得到比对结果后输出,替代新图像的原始数据储存到硬盘、SD卡等其他储存媒介中。
本发明方法设定数据比较在3帧图像之间进行,将新图像Ni帧每个像素的原始数据分别与图像Ni-1帧和Ni-2帧以及图像Ni-1帧和Ni-2帧对应像素原始数据的平均值进行比较,输出对应的一个表征比对结果的2位二进制标识码,根据标识码修正新图像Ni帧中的像素值原始数据并进行储存。仅当新图像Ni帧像素的原始数据不同于图像Ni-1帧和Ni-2帧以及它们原始数据的平均值时才需要在标识码后添加原始数据,共同组成存储内容,其余情况仅输出对应比对结果的标识码作为存储内容。
本发明方法使用仅包含2位二进制数的标识码作为比对结果替代新图像的原始数据进行储存,实现图像压缩。使用本发明方法后,需要储存的不是原始数据,而是转化后的比对结果。现有主流图像传感器每个像素的数据位为12位或更多,如果比对结果仅输出标识码,则该像素需储存的数据直接从12位减少为2位,直接减少了存储数据量,提高了数据的压缩比例。事实上,上述情况非常普遍。由于采用高速的、高帧率的连续拍摄,以现有每秒180帧的拍摄频率可知,每帧图像采集时间的间隔仅有5毫秒,图像在帧与帧之间的差异非常小,近80%~90%甚至更高比例的像素与它之前最近采集的2帧没有变化。因此,使用本发明方法后,需要储存的比对结果是标识码+原始数据的像素只占总像素的10%~20%,其余均只需储存标识码,其结果直接实现实际储存数据的大幅减少,提高压缩比例,也就是本发明方法通过减少储存字节数进行图像压缩,满足硬盘写入速度的限定。本发明方法的另一个好处在于,减少数据存储量同时也减少了对数据储存空间的需求,减少了对磁盘容量的需求,达到降低数据保存成本的有益效果。
另外,由于本发明方法对新图像的每个像素进行比对,并输出和储存比对结果,使得实际上所有原始数据无一丢失地全部都给予无损保存,确保存储数据的完整性。不同于现有技术的压缩软件丢失数据的有损压缩,不会出现数据压缩造成的数据牺牲或丢失的恶劣情况。
再者,本发明方法极为简单,不需要增加硬件配置,对CPU性能要求极低,没有额外增加负荷,因此可以广泛的运用到各种配置的PC,也可以用于嵌入式或者是FPGA系统中。
最后,尽管使用帧间比对,但由于CPU效率或其他原因导致的采集过程中出现丢帧现象在所难免。使用本发明方法处理图像数据,无论连续丢多少个帧,都不会影响后续正常的图像数据,只影响丢帧恢复后的前两帧图像的压缩率。
综上所述,本发明提出的图像压缩方法解决了减少存储数据量,提高数据压缩比例,保证数据存储完整,满足市场主流硬盘以现有的写入速度完成数据存储的技术问题,具有如下优点:
1.方法简单,对CPU性能要求极低,既可以用于PC,也可以用于嵌入式甚至FPGA系统中;
2.减少存储数据量,提高数据压缩比例;
3.满足主流硬盘以现有的写入速度完成数据存储的需求,降低存储成本;
4.无损数据存储;
5.使用3帧图像进行比对,消除数据微小波动的影响,提高压缩率。
附图说明
图1是本发明方法多帧图像压缩示意图。
图2是本实施例中具体像素比对示意图。
具体实施方式
为使本发明的内容更加清楚易懂,以下结合说明书附图,对本发明的内容作进一步说明。当然本发明并不局限于该具体实施例,本领域内的技术人员所熟知的一般替换也涵盖在本发明的保护范围内。
其次,本发明利用示意图进行详细的表述,在详述本发明实例时,为了便于说明,示意图不依照一般比例局部放大,不应以此作为对本发明的限定。
本发明提出了一种图像压缩方法,在连续图像采集的过程中,利用CPU内存中保留的之前最近采集的两帧图像:Ni-1帧和Ni-2帧图像,将其与采集的新图像Ni帧,按像素逐个进行原始数据之间的比对,得到比对结果后输出,并替代新图像的原始数据储存到硬盘、SD卡等其他储存媒介中。本方法设定比较项目,将新图像Ni帧每个像素的原始数据分别与图像Ni-1帧和Ni-2帧以及图像Ni-1帧和Ni-2帧对应像素原始数据的平均值进行比较,输出对应的包含有2位二进制码的标识码作为比对结果。仅当新图像Ni帧像素的原始数据不同于图像Ni-1帧和Ni-2帧以及它们原始数据的平均值时才需要在标识码后添加原始数据,共同组成比对结果输出,其余情况仅输出相应的标识码作为比对结果。由于主流图像传感器每个像素的数据位为12位或更多,如果比对结果仅输出标识码,则该像素需储存的数据从12位减少为2位,直接减少了存储数据量,提高了数据的压缩比例,实现图像压缩。
以下将结合图1~图2对本发明方法作进一步的详细描述。
多帧图像的压缩,如图1所示。
开始新的拍摄时,最先的两帧图像由于图像数据的连贯性还没有建立,本方法进行了特殊的处理:第一帧图像,直接储存全部原始数据,第二帧,储存与第一帧不同的数据。
第一帧图像N1为原始数据,需要将所有数据直接储存;拍摄图像第二帧N2后,将N2的数据与N1按像素逐点依次比对,由于只有一帧图像可以比较,所以只存储与N1不同的原始数据;拍摄图像N3后,这是CPU中暂留的2帧图像都是最近拍摄的(按拍摄时间顺序,N1为第二帧图像,N2为第一帧图像),将N3数据与前两帧图像N1和N2比较,只存储与N1、N2以及两者的平均值即(N1+N2)/2不同的原始数据;同样操作运用到以后拍摄的所有图像上,拍摄图像N4后,将N4数据与前两帧图像N2、N3以及两者的平均值即(N2+N3)/2进行比较,只保存与上述三者不同的原始数据;在拍摄图像N5后,随着CPU中暂留的2帧图像变更成N3和N4,将N5数据与前两帧图像N3、N4以及两者的平均值即(N3+N4)/2进行比较,只保存与上述三者不同的原始数据;其余相同的数据,均只保存对应的标识码。推广至图像Ni(图中没有表示),随着CPU中暂留的2帧图像变更成Ni-1和Ni-2,将Ni数据与前两帧图像Ni-1、Ni-2以及两者的平均值即(Ni-1+Ni-2)/2进行比较,只保存与上述三者不同的原始数据;其余相同的数据,均只保存对应的标识码。
可见,本发明方法使用连续的3帧图像进行比对,消除了数据微小波动造成的影响,实现减少存储数据量,提高了数据压缩比例。
接着,进行标识码的定义的表述。
本发明方法的标识码是由一个2位二进制数组成:
00:表示新图像Ni帧与Ni-1帧相等;
01:表示新图像Ni帧与Ni-2帧相等;
10:表示新图像Ni帧与Ni-1帧和Ni-2帧的平均值相等(保留整数);
11:表示新图像Ni帧与Ni-1帧和Ni-2帧的平均值不相等。
按上文所述,使用本发明的压缩方法,前三种情况比对结果仅输出00,01,10这三种标识码之一;第四种情况,由于出现的像素数据与之前拍摄的对应点所有数据均不相等,表明该像素图像变动较大,需要完整保存,因此第四种情况在输出标识符11后面会紧跟该像素全部的原始数据。
在数据存储时,如果是前三种情况,像素点原始数据就转换成标识码储存,后续的储存数据也为下一个像素点的标识码,并以此类推;如果为第四种情况,像素点数据转换成的标识码为11,则储存时除保存该标识码,后续还需要紧接N位的该像素原始数据,然后再进行下一个像素点的储存。
以一帧4个像素图像Ni的储存数据为例,例如:
00 00 00 00表示这4个像素点都与之前图像Ni-1帧的值相等。
00 01 00 10表示第一,第三个像素点的值与图像Ni-1帧相同,第二个与之前图像Ni-2帧相等,第四个与之前图像Ni-1帧和Ni-2帧的数据平均值相等。
00 11 11 10 00 10 10 10 00 10
表示第一个像素的值与之前图像Ni-1帧相等,而第二个像素与图像Ni-1帧、图像Ni-2帧,以及两者数据的平均值都不相等,其原始数据若为111000101010b(下划线部分),第三个像素的值与之前图像Ni-1帧相等,第四个像素的值与之前图像Ni-1帧和Ni-2帧的数据平均值相等。其中第二个像素紧接了12位该像素的原始数据。
现以一具体实施例详细说明本发明压缩方法的实际运用。
为了方便理解,我们使用6帧连续图像为例:每帧含4个像素,每个像素是12位。具体的原始数据如图2所示。
按本发明方法运行压缩处理数据如下:(b表示二进制数值)
第一帧图像数据不经过转换直接存储:2032 2043 2010 2045
第二帧图像将3,4两个像素转化后存储:(11b)2031(11b)2040 00(b)00(b)
第三帧图像将1,4两个像素转化后存储:01(b)(10b)(11b)2011 00(b)
第四帧图像将2,3两个像素转化后存储:(11b)2033 01(b)01(b)(11b)2046
第五帧图像将1,2,4三个像素转化后存储:00(b)01(b)(11b)2012 00(b)
第六帧图像将3,4两个像素转化后存储:(11b)2035(11b)2043 00(b)(11b)2045
不考虑第一帧图像对数据压缩率所造成的影响,(实际上,在极大数据量的情况下,第一帧的影响可以忽略不计),存储后五个图像所有原始数据一共需要4×12×5=240位
通过本发明方法的转换,第二帧图像转化为:
●第一个像素:11(标识码:表示该像素点的值与之前两帧以及平均值都不相同)+原始数据011111101111(2031);
●第二个像素:11(标识码:表示该像素点的值与之前两帧以及平均值都不相同)+原始数据011111111000(2040);
●第三个像素:00(标识码:表示等于第一帧同一位置的像素);
●第四个像素转化为:00(标识码:表示等于第一帧同一位置的像素)。
一共为14+14+2+2=32位。
同理可得,5帧图像经转换后,总字节数之和148位。也就是说使用本发明方法的数据压缩率为148/240=61%,其占用磁盘空间只有原来的1/2,磁盘空间储存效率提高了两倍。
实际运用中,在高帧率的拍摄场合,比如前面提到的每秒180帧的拍摄频率,每帧的拍摄间隔只有5毫秒,因此图像的帧与帧之间的差异非常小,只有10%-20%甚至更小比例的像素在这么短的时间内发生变化。还是以上面后五帧图像的20个像素为例。如果在拍摄第二帧到第六帧的20毫秒时间间隔中,像素的变化率为15%,即有3个像素因为变化需要保留原值储存,那么剩余的17个像素都可以替换成标识码,在保证数据信息准确无误的情况下进行存储。计算可得,转换后被标识码替换的像素一共为17×2=34位,保留原值的像素为一共占(12+2)×3=42位,总和为76位。相较于原先的全部12×5×4=240位,压缩率为76/240=31%,其占用磁盘空间只有原来的1/3,磁盘空间储存效率提高了三倍。
由上述分析可知,对于现有技术中的难点:高位宽(>12位)、高帧率图像的数据压缩储存,本发明方法更能体现优势。对于像素的位宽越高的数据,实际像素的变化比例越低,其压缩率越高;对于高帧率拍摄,图像帧与帧之间隔越短,像素变化越小,其压缩率也就越高。
本发明方法极为简单,通过判断像素值是否相等,决定输出标识符的同时是否跟随原始数据,没有对CPU增加负荷,对数据处理设备没有额外硬件要求。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (4)
1.一种图像压缩方法,其特征在于,将新采集的图像Ni帧与之前采集图像Ni-1帧和Ni-2帧图像对应像素的原始数据按设定的比较项目逐项进行比对,并输出一个表征比对结果的标识码,根据标识码修正新图像Ni帧中的像素值原始数据并进行储存,其中,设定的比较项目含下列比较项:
1)新图像Ni帧与Ni-1帧相等;
2)新图像Ni帧与Ni-2帧相等;
3)新图像Ni帧与Ni-1帧和Ni-2帧的平均值相等;
4)新图像Ni帧与Ni-1帧和Ni-2帧的平均值不相等。
2.根据权利要求1所述的一种图像压缩方法,其特征在于,当比对结果相等时,仅输出并存储标识码作为比对数据结果,当结果不相等时,将标识码与Ni帧图像原始像素值共同作为比对结果输出并存储。
3.如权利要求1所述的一种图像压缩方法,其特征在于,所述设定的比较项目将一个2位二进制的标识码作为比对结果输出。
4.如权利要求3所述的一种图像压缩方法,其特征在于,2位二进制的标识码00、01、10、11,分别作为比较项1,2,3,4的比对结果输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511003005.0A CN105376580B (zh) | 2015-12-28 | 2015-12-28 | 一种图像压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511003005.0A CN105376580B (zh) | 2015-12-28 | 2015-12-28 | 一种图像压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105376580A CN105376580A (zh) | 2016-03-02 |
CN105376580B true CN105376580B (zh) | 2018-08-28 |
Family
ID=55378317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511003005.0A Active CN105376580B (zh) | 2015-12-28 | 2015-12-28 | 一种图像压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105376580B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110337003B (zh) * | 2019-04-29 | 2020-07-07 | 青岛农业大学 | 一种利用北斗系统传输图像的方法 |
CN112333537B (zh) * | 2020-07-27 | 2023-12-05 | 深圳Tcl新技术有限公司 | 视频整合方法、装置及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134538A (ja) * | 1998-10-26 | 2000-05-12 | Sony Corp | 画像処理装置および方法、並びに提供媒体 |
CN101060624A (zh) * | 2007-05-08 | 2007-10-24 | 杭州华三通信技术有限公司 | 视频数据的处理方法及存储设备 |
WO2015003573A1 (zh) * | 2013-07-12 | 2015-01-15 | 华为技术有限公司 | 视频编解码方法、装置及系统 |
-
2015
- 2015-12-28 CN CN201511003005.0A patent/CN105376580B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134538A (ja) * | 1998-10-26 | 2000-05-12 | Sony Corp | 画像処理装置および方法、並びに提供媒体 |
CN101060624A (zh) * | 2007-05-08 | 2007-10-24 | 杭州华三通信技术有限公司 | 视频数据的处理方法及存储设备 |
WO2015003573A1 (zh) * | 2013-07-12 | 2015-01-15 | 华为技术有限公司 | 视频编解码方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105376580A (zh) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102104764B (zh) | 一种图像序列的压缩存储处理方法 | |
US10223811B2 (en) | Image encoding method, image decoding method, image encoding device and image decoding device | |
CN106231214A (zh) | 基于可调宏块的高速cmos传感器图像近似无损压缩方法 | |
CN106470323B (zh) | 视频数据的存储方法及设备 | |
CN105933708B (zh) | 一种数据压缩和解压缩的方法和装置 | |
CN105376580B (zh) | 一种图像压缩方法 | |
WO2005001760A3 (en) | Fast loss less image compression system based on neighborhood comparisons | |
CN103702133A (zh) | 一种图像压缩展示方法及其装置 | |
CN104349168A (zh) | 一种超高速图像实时压缩方法 | |
CN105120276B (zh) | 自适应Motion JPEG编码方法和系统 | |
CN105306942A (zh) | 一种视频编码器的编码方法、装置及系统 | |
CN101751897A (zh) | 压缩及解压缩查找表的方法及其相关装置 | |
CN105163122B (zh) | 一种基于图像块相似性的图像压缩及解压缩方法 | |
CN103997651A (zh) | 一种合成图像的数据压缩方法及装置 | |
CN106791844B (zh) | 一种图像无损压缩装置及方法 | |
CN107454408B (zh) | 一种图像编码码率动态调整的方法 | |
WO2018068250A1 (zh) | 处理数据的方法、装置、芯片和摄像头 | |
CN107801031B (zh) | 一种对纯三原色图片数据的无损压缩编码方法 | |
US8593309B2 (en) | Method for efficient decoding of variable length codes | |
CN103780913A (zh) | 一种基于误差隐藏的数据压缩方法 | |
CN111277835A (zh) | 一种结合yolo3与flownet2网络的监控视频压缩及解压方法 | |
CN105049870B (zh) | 一种基于稀疏度估计的分布式视频压缩感知快速重建方法 | |
CN106709880A (zh) | 灰度图像的保存方法和灰度图像原始像素的获取方法 | |
US10701371B1 (en) | Lossless compression of high framerate imagery | |
US8411973B2 (en) | Image file processing 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |