JPEG(下)| 学习笔记

简介: 快速学习 JPEG(下),介绍了 JPEG(下)系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算JPEG(下)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/811/detail/15689


JPEG(下)


实例应用讲解

我们结合一个应用解释 JPEG 如何进行压缩,image.png
image.png

比如一个8×8的图像块,知道色度的分量,因为有不同的取值。原始图像按照 JPEG 来讲,第一步进行正向的DCT变换也就是 FDCT 变换,DCT 变换之后产生了64个系数。

左上角的叫做 DC 系数也就是直流系数,之后的63个是交流系数。直流系数的值独树一帜,比其他的系数要大很多,而后面的交流系数距离直流系数越近,频率越低,值相对较大。

越往右下角走,频率越高,值也就越小。也就是说,高频部分,频率越高,对图像的贡献相对要小。

image.png

第二步是量化,这个量化表是心理视觉模型做实验做出来的,那么特定的频率应该取怎样的步长?FDCT 系数与量化表作除法就是量化之后的系数。

image.png

量化系数中有许多0,因为除以一个很大的数再四舍五入就是量化的系数,而这个系数中四舍五入有很多0,四舍五入之后的系数叫做规格化的系数。

规格化的系数要还原就要乘以量化步长,在 JPEG 中,就是以规格化的系数开始进行编码。

比如直流分量用 DPCM 编码,其他的交流分量使用 zigzag 编排也就是 z 字型编码,z 字型编码为了产生0的个数增多,从第一行第二列开始一个0,旁边有-1,发现只有一个0,后面五个0,再到第二行左边的时候变为2了,这样还是不连续。

而15、0、2,然后-1、-1、-1,这是 z 字型编排,然后是0、0、-1、0,再往下后面就是若干个0连续在一起,就形成长度编码,在最后再使用哈弗曼编码。

假定已经通过熵编码,最后组成了数据流,现在编程解码,解码依然从熵编码相应解码,解码之后因为是无损的可以完完全全还原成规格化的量化系数,量化系数继续解码乘以量化表,这两个相乘得到逆量化产生的系数。

因为规格化系数很多0,0乘任何数都是0,所以逆量化之后也有很多0,小的值就没有了。再对逆量化的系数实施逆向的 DCT 变换就得到了重构的8×8的图像。

image.png

对比压缩之前和还原之后的值相比对应的像素位置其实不完全相同,但是差别不大。

也就是说压缩之后还原产生的图像与原始图像很接近,但是通过一系列的编码大幅压缩了数据。大家做这个实验可以下载 matlab,可以将以上过程通过 matlab 进行重复,还可以输入不同的图像进行变换,加深对理论知识的理解。

课后思考一个问题,在计算机精度足够高的情况下,请问 JPEG 的每个步骤的计算中,哪些是有损的,哪些是无损的。

相关文章
|
机器学习/深度学习 前端开发 数据可视化
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
2099 0
|
Ubuntu 安全 网络协议
|
前端开发
React使用TS模板脚手架报错:声明了“ React”,但从未读取其值
React使用TS模板脚手架报错:声明了“ React”,但从未读取其值
991 0
|
9天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23434 9
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
13天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
4491 15
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
14天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
5403 13