JPEG

课程文档 :http://211.85.161.129:9001/ELM/?m=Exp&c=Index&a=DocView&cid=98&active=true

以下笔记有点抽象 :

JPEG 压缩原理 :https://blog.csdn.net/abcjennifer/article/details/8074492

JPEG 原理详细实例分析及其在嵌入式 linux 中的应用 :https://www.ibm.com/developerworks/cn/linux/l-cn-jpeg/

维基百科 :https://zh.wikipedia.org/wiki/JPEG

所有的 jpg 图像文件头都是 FF D8,文件尾都是 FF D9,它们在一个文件中最多可以被使用两次, 比如有缩略图的情况下

JPEG 文件十六进制书写格式,是按照我们人定义的书写格式来书写的大端法,其余的数据仍然是小端法存储

头结点到 00 3F 00

第二部分

APP0

APP0 段只是把 JPG 的几个量化表定下来

APP0 段长度为 0010H 而不是 1000H,这个长度包含其自身但不包括 FF E0。

水平、垂直方向密度,这就是分辨率

JPEG 标准量化表 : https://www.ilovematlab.cn/thread-202352-1-1.html

00 号量化表,这个也是亮度表

zigzag 扫描

直流吸收,AC 吸收

量化表信息 00

量化矩阵的线性化以及反线性化

JPEG 质量因子,每一个质量因子对应一个量化表,可以实现不同质量的压缩

38 dB 图像与原图看不出来明显的差别,但是放大后再看还是有区别的

量化表中的数字越小就意味着图像清晰度越高

01 号量化表,这个也是色度表

SOFO

颜色分量数,分量就是数学向量中的分量

Y 颜色分量,用的 0 号量化表

Cb 颜色分量,用的 1 号量化表

Cr 颜色分量,用的 1 号量化表

采样系数,22/11 采样方式,22 每两个点里面采样两个点,11 每两个点里面采样一个点

范式哈夫曼表 :https://www.cnblogs.com/k1988/archive/2010/05/18/2165646.html

SOS 扫描开始

怎么编码 ?

表 3.5-1

按位取反

4 的编码是 100,-4 的编码是 011

JPEG 压缩过程 :https://blog.csdn.net/carson2005/article/details/7753499

差分二重编码 https://www.cnblogs.com/Torrance/p/9349610.html

z 型编码

知乎上面讲的挺好的, 就看那个吧

MISC 隐写术

可以用来隐藏数据, 也许也可以用来写图片马 (不需要这么麻烦的加密应该也可以

EXIF 隐藏信息

将图像边缘的数据用要隐藏的信息代替, 显示的效果可能是五颜六色的