一种图像像素位深压缩方法及系统与流程

专利2026-07-15  14


本发明属于图像压缩,具体涉及一种图像像素位深压缩方法及系统。


背景技术:

1、高速cmos传感器的输出图像一般为10bit或12bit位深,但存储一般使用8bit位深。高速相机的工作流程为:图像采集—>数据存储—>数据导出—>图像后处理。

2、10bit转8bit存储的原因主要有以下几点:一是无论ddr还是flash存储器,其内存架构均是以字节(8bit)为单位,转成8bit存储效率最高,而且同样的存储空间可以录制更长的视频;二是10bit转成8bit后图像总带宽也减少20%,可以降低对存储器的速率要求,降低成本,也可说成是同样的带宽可以支持更高的帧率,有利于提高高速相机的性能。

3、传统的像素位深10bit转化为8bit一般有以下三个方法:

4、方法一为直接取10bit的高8bit,丢弃低2bit数据,也即牺牲有效bit信息,丢失一些图像细节,可以视作有损压缩。

5、方法二为截取10bit的低8位,当数据大于255时,钳位至255;此时即牺牲图像的动态范围,达到保留低位有效bit信息(图像细节)的目的。此时8bit的动态范围只有原来10bit的四分之一。

6、方法三是使用lut查找表来转换位宽,即根据输入的10bit像素值查表找到对应的8bit数值输出,这种方法和方法一样也存在丢失有效bit信息的问题。

7、针对现有技术的不足,亟需一种图像像素位深压缩方法及系统,以解决上述问题。


技术实现思路

1、为解决上述现有技术中的不足,本发明的目的在于克服现有不足,提供一种图像像素位深压缩方法,所述方法包括如下:

2、(1)图像压缩过程:

3、逐行接收cmos传感器发送的图像数据,存储至fpga;

4、判断接收的图像数据的任一像素值是否超过255,若所述像素值不超过255,存储低8bit数据;若所述像素值超过255,存储高8bit数据,对于从像素值不超过255跳变到像素值超过255的像素位置和/或从像素值超过255跳变到像素值不超过255的像素位置进行标记,获得标记点,实现图像数据压缩;

5、(2)图像解压缩过程

6、逐帧获取压缩后的图像数据,对于每一帧图像,基于标记点获取像素值被压缩为取高8bit数据的像素区域;

7、对于像素值被压缩为取高8bit数据的像素区域,进行像素值恢复过程;

8、获得解压缩后的图像。

9、作为上述方案的进一步优化,所述对于从像素值不超过255跳变到像素值超过255的像素位置和/或从像素值超过255跳变到像素值不超过255的像素位置进行标记,包括:

10、对于从像素值不超过255跳变到像素值超过255的像素位置,将前面一个像素值不超过255的像素进行标记。

11、作为上述方案的进一步优化,所述逐帧获取压缩后的图像数据,对于每一帧图像,基于标记点获取像素值被压缩为取高8bit数据的像素区域,包括:

12、基于标记点使用regiongrow区域生成法,获取像素值被压缩为取高8bit数据的像素区域。

13、作为上述方案的进一步优化,所述对于像素值被压缩为取高8bit数据的像素区域,进行像素值恢复过程,包括:

14、基于regiongrow区域生成法生成的区域生成掩模图,所述掩模图与原图像宽高一致,像素一一对应,所述掩模图中regiongrow区域生成法生成的区域的像素值为l1-l2,其中,l1为像素值超过255的像素的真实像素值位数,l2为像素值超过255的像素被压缩后的像素值位数,所述掩模图中其余位置的像素值为1;

15、将掩模图与原始压缩后的图像进行像素一一相乘,完成像素值恢复过程,获得解压缩后的图像。

16、作为上述方案的进一步优化,所述对于从像素值不超过255跳变到像素值超过255的像素位置和/或从像素值超过255跳变到像素值不超过255的像素位置进行标记,包括:

17、对于从像素值不超过255跳变到像素值超过255的像素位置,将前面一个像素值不超过255的像素进行标记;

18、且对于从像素值超过255跳变到像素值不超过255的像素位置,对于后面一个像素值不超过255的像素进行标记。

19、作为上述方案的进一步优化,所述标记方法,包括:

20、将当前像素的像素值是否超255的情况与前一个像素比较,如果两个像素值超255的情况不一致,则将两个像素中像素值不超过255的像素作为标记点。

21、作为上述方案的进一步优化,所述逐帧获取压缩后的图像数据,对于每一帧图像,基于标记点获取像素值被压缩为取高8bit数据的像素区域,包括:

22、基于每一行像素,获取每一行中的标记点,基于每一行第1个标记点和第2个标记点之间的像素即为像素值被压缩为取高8bit数据的行像素区域,基于每一行第3个标记点和第4个标记点之间的像素即为像素值被压缩为取高8bit数据的行像素区域,依次类推,每前后两个标记点之间的即为像素值被压缩为取高8bit数据的行像素区域;

23、基于获得的像素值被压缩为取高8bit数据的行像素区域获取原始图像中像素值被压缩为取高8bit数据的像素区域。

24、作为上述方案的进一步优化,所述对于像素值被压缩为取高8bit数据的像素区域,进行像素值恢复过程,包括:

25、对于获取的像素值被压缩为取高8bit数据的像素区域,将像素值乘以l1-l2即l1-8倍,实现对压缩像素区域的解压缩过程。

26、作为上述方案的进一步优化,所述标记点的标记方法为:将像素值置为0。

27、本发明还公开了一种图像像素位深压缩系统,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现如上任一项所述的图像像素位深压缩的方法。

28、本发明采用上述的技术方案,与现有技术相比,具有如下有益效果:

29、1.本发明通过给出一种图像像素位深压缩方法,主要用于解决传统像素位深压缩的弊端,基于本发明公开的技术方案,通过对位深截取和图像后处理恢复的操作,既保留原高位深图像的动态范围,同时保留图像细节,不损失有效bit信息。

30、2.基于本发明设计的技术方案,能够最大化保留cmos原始的图像细节,即保留所有有效bit位,相较于传统的直接截取方案,本发明技术完全保留了原始图像的有效细节,更利于原始图像压缩后的恢复。

31、3.本发明设计的10bit转8bit技术方法,应用像素值检测对应分别保存位深,压缩合理,相较于传统方案,本发明设计的方法存储效率更高,同等存储空间下,本发明能够录制更大的图像或视频数据,且需求的带宽也有效减小,降低对存储器的速率要求。



技术特征:

1.一种图像像素位深压缩方法,其特征在于,所述方法包括如下:

2.根据权利要求1所述的一种图像像素位深压缩方法,其特征在于,所述对于从像素值不超过255跳变到像素值超过255的像素位置和/或从像素值超过255跳变到像素值不超过255的像素位置进行标记,包括:

3.根据权利要求2所述的一种图像像素位深压缩方法,其特征在于,所述逐帧获取压缩后的图像数据,对于每一帧图像,基于标记点获取像素值被压缩为取高8bit数据的像素区域,包括:

4.根据权利要求3所述的一种图像像素位深压缩方法,其特征在于,所述对于像素值被压缩为取高8bit数据的像素区域,进行像素值恢复过程,包括:

5.根据权利要求1所述的一种图像像素位深压缩方法,其特征在于,所述对于从像素值不超过255跳变到像素值超过255的像素位置和/或从像素值超过255跳变到像素值不超过255的像素位置进行标记,包括:

6.根据权利要求5所述的一种图像像素位深压缩方法,其特征在于,所述标记方法,包括:

7.根据权利要求5所述的一种图像像素位深压缩方法,其特征在于,所述逐帧获取压缩后的图像数据,对于每一帧图像,基于标记点获取像素值被压缩为取高8bit数据的像素区域,包括:

8.根据权利要求7所述的一种图像像素位深压缩方法,其特征在于,所述对于像素值被压缩为取高8bit数据的像素区域,进行像素值恢复过程,包括:

9.根据权利要求1-8任一所述的图像像素位深压缩方法,其特征在于,所述标记点的标记方法为:将像素值置为0。

10.一种图像像素位深压缩系统,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-9中任一项所述的图像像素位深压缩的方法。


技术总结
本发明公开了一种图像像素位深压缩方法,(1)图像压缩过程:逐行接收CMOS传感器发送的图像数据,存储至FPGA;判断接收图像数据的任一像素值是否超过255,若不超过255,存储低8bit;若超过255,存储高8bit,对于从像素值不超过255跳变到像素值超过255的像素位置和/或从像素值超过255跳变到像素值不超过255的像素位置进行标记,获得标记点;(2)图像解压缩过程:逐帧获取压缩后的图像数据,基于标记点获取像素值被压缩为取高8bit数据的像素区域;对于被压缩为取高8bit数据像素区域,进行像素值恢复;获得解压缩图像。基于本发明公开的技术方案,通过对位深截取和图像后处理恢复的操作,既保留原高位深图像的动态范围,同时保留图像细节,不损失有效bit信息。

技术研发人员:范腾龙,范书广,陈浩,潘洋,赵华,潘大伟
受保护的技术使用者:合肥中科君达视界技术股份有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-32598.html