本发明属于图片处理,具体涉及一种适用于mcu的图片压缩解压方法及系统。
背景技术:
1、tft屏即薄膜晶体管液晶显示屏(thin film transistor liquid crystaldisplay)。tft屏由于具有高分辨率、快速响应、色彩鲜艳等优点,所以成为了目前液晶显示的主流技术之一。
2、tft屏一般采用逐行扫描的方式进行显示。tft屏中有m×n个点,每个点有三种颜色,这些点的数量和颜色深度决定了显示的每张图片的数据大小。图片中每个像素点的色值需要按顺序进行rgb565编码后存储,显示时只需按顺序读取色值传给tft屏,即可完成图片的显示。一般情况下,一个常用的小尺寸tft屏的分辨率为320*240,每个像素点的色值占2个字节,则一张图片所需存储空间为320*240*2=153600个字节,即153600/1024=150kb大小,图片的存储空间较大。
3、为了解决图片存储空间大的问题,目前一些方法需要将图片进行压缩后存储,在显示时,mcu对压缩图片进行解压,再传给tft屏显示。但是对于低性能的mcu来说,传统解压方法还是需要依次读取图片中各个像素点的编码,再写入tft屏中进行显示,数据解析时间长,实用性差。
技术实现思路
1、针对现有技术中的缺陷,本发明提供一种适用于mcu的图片压缩解压方法及系统,图片的存储空间占用小,mcu解压图片的数据解析时间短。
2、第一方面,一种适用于mcu的图片压缩解压方法,包括:
3、获取原始图片;
4、根据原始图片中所有像素点的颜色,确定原始图片中的新色点以及在新色点后的连续n个相同色点;其中新色点包括第一个像素点、以及与上一个像素点颜色不同的像素点;相同色点与对应的新色点的颜色相同;
5、根据新色点的颜色或相同色点的数量n进行编码,以得到新色点和部分相同色点的编码;
6、根据原始图片中所有编码生成压缩后的图片;
7、当接收到压缩后的图片时,分别根据压缩后的图片中每个编码,还原出新色点以及相同色点的色值,以得到解压后的图片。
8、进一步地,新色点的编码方法包括:
9、定义rgb565编码中的一位为标识位;
10、设置标识位为0;
11、根据新色点的颜色生成色值;
12、将色值填入rgb565编码除标识位以外的位中,以得到新色点的编码。
13、进一步地,标识位为rgb565编码中绿色分量的最低位。
14、进一步地,相同色点的编码方法包括:
15、当n≤2^l时,根据相同色点的数量n进行编码,得到新色点后的第一个相同色点的编码,l为rgb565编码中用来记录相同色点数量的位数;
16、当n>2^l时,根据2^l进行编码,得到新色点后的第一个相同色点的编码;根据对应的新色点的颜色进行编码,以得到第2^l+1个~第n个相同色点的编码。
17、进一步地,新色点后的第一个相同色点的编码方法包括:
18、设置标识位为1;
19、将相同色点的数量n或2^l转换为二进制数;
20、将二进制数填入rgb565编码除标识位以外的l位中,以得到新色点后的第一个相同色点的编码。
21、进一步地,第2^l+1个~第n个相同色点的编码方法与新色点的编码方法相同。
22、进一步地,新色点、第2^l+1个~第n个相同色点中编码的还原方法包括:
23、将编码中绿色分量的第二低位的数值填入标识位中,以得到新色点、第2^l+1个~第n个相同色点还原后的色值。
24、进一步地,新色点后的第一个相同色点中编码的还原方法包括:
25、获取新色点的编码还原后的色值;
26、获取由第一个相同色点的编码除标识位以外的l位构成的二进制数;
27、将二进制数转换为十进制数,以得到复制次数j;
28、将色值复制j次,以得到新色点后的第一个~第j个相同色点还原后的色值。
29、第二方面,一种适用于mcu的图片压缩解压系统,包括:
30、采集单元:用于获取原始图片;
31、分析单元:用于根据原始图片中所有像素点的颜色,确定原始图片中的新色点以及在新色点后的连续n个相同色点;其中新色点包括第一个像素点、以及与上一个像素点颜色不同的像素点;相同色点与对应的新色点的颜色相同;
32、编码单元:用于根据新色点的颜色或相同色点的数量n进行编码,以得到新色点和部分相同色点的编码;
33、压缩单元:用于根据原始图片中所有编码生成压缩后的图片;
34、解压单元:用于当接收到压缩后的图片时,分别根据压缩后的图片中每个编码,还原出新色点以及相同色点的色值,以得到解压后的图片。
35、进一步地,编码单元具体用于:
36、当n≤2^l时,根据相同色点的数量n进行编码,得到新色点后的第一个相同色点的编码,l为rgb565编码中用来记录相同色点数量的位数;
37、当n>2^l时,根据2^l进行编码,得到新色点后的第一个相同色点的编码;根据对应的新色点的颜色进行编码,以得到第2^l+1个~第n个相同色点的编码。
38、由上述技术方案可知,本发明提供的适用于mcu的图片压缩解压方法及系统,用少量像素点的编码表示图片所有像素点的颜色,减少了压缩图片所占的存储空间大小。在图片还原时,减少了mcu读取和解析编码的次数,缩短了数据解析时间。
1.一种适用于mcu的图片压缩解压方法,其特征在于,包括:
2.根据权利要求1所述适用于mcu的图片压缩解压方法,其特征在于,所述新色点的编码方法包括:
3.根据权利要求2所述适用于mcu的图片压缩解压方法,其特征在于,所述标识位为所述rgb565编码中绿色分量的最低位。
4.根据权利要求2所述适用于mcu的图片压缩解压方法,其特征在于,所述相同色点的编码方法包括:
5.根据权利要求4所述适用于mcu的图片压缩解压方法,其特征在于,所述新色点后的第一个相同色点的编码方法包括:
6.根据权利要求4所述适用于mcu的图片压缩解压方法,其特征在于,所述第2^l+1个~第n个相同色点的编码方法与所述新色点的编码方法相同。
7.根据权利要求4所述适用于mcu的图片压缩解压方法,其特征在于,新色点、第2^l+1个~第n个相同色点中编码的还原方法包括:
8.根据权利要求7所述适用于mcu的图片压缩解压方法,其特征在于,所述新色点后的第一个相同色点中编码的还原方法包括:
9.一种适用于mcu的图片压缩解压系统,其特征在于,包括:
10.根据权利要求9所述适用于mcu的图片压缩解压系统,其特征在于,所述编码单元具体用于: