问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PNG编解码算法详解

发布网友 发布时间:2024-09-29 09:20

我来回答

1个回答

热心网友 时间:2024-12-04 09:22

PNG是便携式网络图型(Portable Network Graphics)的缩写,因其透明通道、无损压缩特性,广泛应用于设计、游戏、网页、app开发中。PNG与GIF格式有较大关联,其压缩过程无损,可准确还原图像,封装多种pixfmt格式数据,是一种可扩展的封装格式。PNG文件由一个8字节的PNG文件署名、按照特定结构组织的多个数据块组成。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们。PNG文件包含四个典型数据块,增加acTL、fcTL、fdAT即形成APNG动图格式。

每个数据块按特定方式排列,包括数据块长度、块类型、块数据和CRC校验码。一个典型的PNG文件的十六进制表示如下:

(1)PNG signature:0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A

(2)IHDR:文件头数据块包含PNG文件中存储的图像数据的基本信息,包括分辨率、比特深度、色彩模式、压缩方法,必须作为第一个数据块出现在PNG数据流中,且一个PNG数据流中只能有一个文件头数据块。

(3)IDAT:图像数据块存储实际的数据,数据流中可包含多个连续顺序的图像数据块。IDAT存放着图像真正的数据信息。

(4)IEND:图像结束数据用来标记PNG文件或数据流已结束,且必须放在文件尾部。

IDAT的压缩过程包括Filter和deflate两部分。Filter对像素进行过滤,无压缩损失,通过差分编码减少存储所需的比特数。deflate算法结合了LZ77和Hoffman算法,用于像素数据压缩,通过字典方式压缩数据,以标记代替重复字符。

对于PNG格式数据,实际项目应用可选择opencv、libpng等库进行编解码。PNG格式提供了丰富的功能和兼容性,适用于各种图像处理和存储需求。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高考为什么不能补报志愿? 帮我翻译一句话“不管多久以后,不管世界变成什么样子,我都是哪个最骄傲... 温州到周口的大巴车经过台州路桥客运中心那里吗? 微信怎么设置看不到微信号 不想让微信号显示出来怎么办 2021年大学教师资格证报名费用 大埔教师资格证报名网 大埔县教育局办教师资格证需要准备哪些资料? 深情触摸2016百度云链接 求深情触摸百度云分享 惠普518打印机值得入手吗? ...房产证也收走了。现在结婚怎么把对象户口迁过来?派出所要房证,可是... ...现在要拆迁,因为我是远地方的有必要把户口迁过来吗? 我要和我女朋友结婚,但是她家想让他户口先留在家里等拆迁。不知道结婚女... react native配置了android sdk 但是还是报错 react-native-splash-screen在RN0.63/ios13的安装与配置 React Native 0.74 Android 环境搭建指南 雅顺洗发水适合什么发质用? 雅顺滋养丝滑亮发洗护套盒好用吗?管用吗 冰箱压缩机通电不工作是什么原因引起的 从三元巷到红山路长发广场乘坐几路车 我买了南京到龙岩的动车D3135但是我想到镇江去坐车,应该在那个车站上车... D3135 在镇江什么地方上车?应为买票只能购买南京到厦门的。我在镇江... 盐城信拓东海国际地址在哪里? 信拓东海国际怎么样?好不好?值不值得买? 盐城信拓东海国际多少钱一平方? Win10如何选择图片设置为桌面壁纸并自定义放置方式? 怎样把本子的背光灯打开呢? 六爻手摇铜钱卦,请高手解卦 六爻铜钱卦,求大师帮忙解卦。感觉此卦有难度! 音视频编解码--PNG介绍 莱德杯历年结果 圣伯莱德杯历届冠军 ...不告诉你检什么就开一准单给你,交钱然后就看单去检查。是不是... 一种PNG 无法打开的问题排查(File format is unrecognized. File... 在医院做检查,本来准备做nt的,但是医生给我建档,让我去交钱,我... 2022年农历九月入宅最吉利好日子 2022年农历九月入宅吉利日子一览 音视频骚操作,FFmpeg 如何播放带「图片」的 M3U8 视频,IJKPlyaer 适 ... 谁能帮忙举荐一款手机能插两张电信卡的? 最好是两张电信卡可以一同待机... 欧冠的奖杯大耳杯是一年造一个还是以接力的方式传递? ...在这个长方形鱼塘的四周,每隔5米栽一棵树,一共可以栽多 ...鱼塘,在这个长方形塘的四周,每隔五米栽一棵树,一共可以摘多少棵树... 在这个长方形鱼塘的四周,每隔 5 米栽一棵树.一共可以栽多少棵树? 在这个长方形鱼塘的四周,每隔5米栽一棵树。一共可以栽多少棵树? ...B、活期存款 C、储蓄存款 D、货币市场存款帐户 ...他们从两端同时施工,甲工程队每天挖60m,乙工程队每天挖55m,经_百 ... ...他们从两端同时开工,甲队每天挖60m乙对每天挖55m,经过15天的工_百度... ...条8100长的公路他们从两端同时开工.甲队每天修60m比 甲乙两个工程队修一条长2100米的公路,他们从两端同时开工,甲队每天修60... 甲、乙两工程队修一条长770米的公路,他们从两端同时开工,甲队每天修68...