不同图片格式介绍
1. tif格式为无损图片格式 故而同样的照片tif格式单个文件较大 一般用于打印图像使用。
2. GIF意为Graphics Interchange format(图形交换格式),GIF图片扩展名gif。
GIF的图像深度从1bit到8bit,也即GIF最多支持256种色彩的图像。
GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像。
GIF 图像文件 GIF格式的特点是压缩比高,磁盘空间占用较少,所以这种图像在网页中运用很多。
GIF的两种版本: GIF87a:只是简单地用来存储单幅静止图像。 GIF89a:可以同时存储若干幅静止图象进而形成连续的动画,使之成为支持 2D动画的格式。
3. JPEG代表Joint Photograhic Experts Group(联合图像专家组),这种格式经常写成JPG。
JPEG 图像文件 JPEG文件的扩展名为.jpg或.jpeg,其压缩技术十分先进,它用有损压缩方式去除冗余的图像和彩色数据,获取得极高的压缩率的同时能展现十分丰富生动的图像。
JPG图像是有损压缩 根据压缩比不同 图片大小不同 图像质量不同 一般用作网上分享使用。
4. BMP格式比JPG格式的文件要大得多,甚至是10多倍之差。
BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。
BMP文件的图像深度可选1bit、4bit、8bit及24bit。
BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。
典型的BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息。
一张24位的800×600的bmp格式图形文件大小: 800×600×3byte=1440000byte≈1440byte≈1.44M
GIF图片播放与RAM需求
gif图片播放解码RAM需求:
需要对gif进行解码处理进行缓存,然后进行播放。
比如16bit深度的RGB图片,360x360分辨率,那么按照最小缓存RAM计算,每个像素需要16bit/8 = 2Byte字节,gif解码还需要1Byte存储颜色等信息。所以解码gif一个像素需要RAM 3Byte空间。(也就是说如果是24bit的RGB,就需要24bit/8 + 1Byte = 4Byte)。 那么一帧图片就需要:360x360x3Byte = 380KByte RAM。
BMP图片播放与RAM需求
只要主频和通讯频率够快,就可以进行播放。主控芯片的RAM不一定要很大。
比如: 在32MHZ通讯速度下QSPI(4线一次可以传4bit)通讯,1秒内可以传送:15M字节(1Byte = 8bit)。对于360x360分辨率,24bit位(3Byte)RGB图片bmp,那么1S可以播放:5MByte/(360 x 360 x 3Byte) = 38帧/秒。 在纯速度上面计算可知可以满足38帧/S播放。
实际过程还要加上DMA等的MCU处理时间预计n个us。只要RAM够大这个影响时间就会更小。
比如MCU采用12KRAM用于图片显示用途,那么一帧图片:360x360x3Byte = 380KB,就需要进行 380KB/12KB = 32次的DMA-RAM操作(这就是中间过程影响时间就是 32*n 个us,这个影响对于播放时影响不明显,只要主频够快这个时间影响更小)。 [如果播放动图,可以通过bmp图片叠加播放实现。如果设备空间FLASH和RAM紧张,为了降低存储与内存消耗,可以通过对前后每张图片异同点作对比,对差异区域进行做图,这样可以减少图片的空间,只不过这种方案UI工程师出图的工作量估计就会加大很多]