数据压缩|PNG文件格式分析

本文详细介绍了PNG图像格式文件的结构,包括2.8字节的文件署名用于识别PNG文件,以及数据块的分类。关键数据块包括文件头数据块(HIDR)、图像数据块(IDAT)和图像结束数据块(IEND)。HIDR数据块包含了图像的宽度、高度、深度和颜色类型等信息。辅助数据块如sRGB和gAMA提供了色彩管理和伽马校正的数据。此外,文章还提及了调色板数据块(PLTE)和其在不同类型的PNG图像中的使用情况。
摘要由CSDN通过智能技术生成

  1. PNG文件的文件结构是什么?

        PNG图像格式文件由文件署名和数据块(chunk)组成的。

      2. 8字节的文件署名可以判断是不是PNG文件,该域的值如下图所示

    下图是用二进制编辑器打开的PNG文件,可以看出前8个字节确实表中所展现的字节。

3. 数据块如何分类?关键数据块有哪些?分别起到什么作用?

PNG文件有两种类型的数据块,关键数据块和辅助数据块。

关键数据块中有4个标准的数据块:文件头数据块(HIDR),调色版数据块,图像数据块,图像分析数据

文件头数据块组成如下表所示:

   

    在PNG文件对应二进制文件中查找位置的数据:

   

    长度为:0x0D,与HIDR的13字节对应,说明此数据块确实是HIDR数据块。

   

    表明该数据块是HIDR数据块。

     图像宽度为0x2BB,即699像素

    图像高度为ox312,即786像素

    图像深度为8位

    颜色类型为0x06,即图像为带a通道数据的真彩色图像

    压缩方法,滤波器方法,隔行扫描方法:0x00

    CRC:6A 07 0C 42

    调色版数据PLTE:它包含有与索引彩色图像相关的彩色变换数据,它仅与索引彩色图像有关,而且要放在图像数据块之前。本例子是带有a通道数据的真彩色图像,没有调色板数据块。

    图像数据块IDAT:它存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。

   图像结束数据IEND:它用来标记PNG文件或者数据流已经结束,并且必须要放在文件尾部。

   

    4.  辅助数据块有哪些?请详细分析其中几个。

sRGB: 数值为1,符合sRCB的标准。

是上文所述的4个字节

 数值为0

循环冗余校验码

gAM:

说明数据有4个字节

 ACSII码

 符合45455的数值

 循环冗余校验码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值