To Read:
JPEG 简易文档 V2.15【原是地址】 隶属于:云风的文档
http://www.codingnow.com/2000/download/jpeg.txt
http://www.impulseadventure.com/photo/jpeg-snoop.html
JPEG Compression, Quality and File Size
1. JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用
http://www.linuxeden.com/html/sysadmin/20080908/61086.html
http://hi.baidu.com/koko200147/blog/item/b6163bd1222203d7562c8487.html
http://zeen1984.spaces.live.com/Blog/cns!1D7D942D3EC92CC8!148.entry?wa=wsignin1.0
/*==========================Jpeg Decode 原理介绍 ==========================*/
/*
JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用
http://www.linuxeden.com/html/sysadmin/20080908/61086.html
*/
/*
一个原始图像信息,要对其进行 JPEG 编码,过程分两大步:
1、 去除视觉上的多余信息,即空间冗余度
2、 去除数据本身的多余信息,即结构(静态)冗余度
*/
/* ————–1.去除视觉上的多余信息,即空间冗余度————– */
/*
用数学上的离散余弦变换,即 DCT(Discrete Cosine Transform)
将原始图像这个色彩空间域,转换为频谱域。
进而根据图像信号的频谱特性,即
图像信号的频谱线一般在0-6MHz范围内,而且一幅图像内,包含了各种频率的分量。
但包含的大多数为低频频谱线,只在占图像区域比例很低的图像边缘的信号中才含有高频的谱线。
进行压缩。
*/
/*
DCT 是可逆的、离散的正交变换。
变换过程本身虽然并不产生压缩作用,但是变换后的频率系数却非常有利于码率压缩。
对DCT状换后的频谱系数进行量化,进行压缩。
*/
/*
总体说来,这第一步,对图像进行编码,去除多余的信息,
要用到 DCT 变换中的正向 DCT(FDCT),然后再对变换的系数做量化(Quantization),
这个过程就是依据的经验值,来处理人眼视觉系统所不敏感的高频数据,从而极大地减少了需要处理的数据量,
这个是结合数学方法与经验值而做的处理。
*/
/* ————–2、 去除数据本身的多余信息,即结构(静态)冗余度————– */
/*
利用 Huffman 编码,来将最后的数据用无损的方式做压缩,这个是纯数学上的处理方式。
*/
/*
如果处理的是彩色图像,JPEG 算法首先
(1)将 RGB 分量转化成亮度分量和色差分量,
(2)同时丢失一半的色彩信息(空间分辨率减半)。
(3)然后,用 DCT 来进行块变换编码,舍弃高频的系数,
(4)并对余下的系数进行量化以进一步减小数据量。
(5)最后,使用 RLE 行程编码和 Huffman 编码来完成压缩任务。
*/
/*
JPEG 编码中主要涉及到的内容主要包括:
1. Color Model Conversion (色彩模型)
2. DCT (Discrete Cosine Transform 离散余弦变换)
3. 重排列 DCT 结果
4. 量化
5. RLE 编码
6. 范式 Huffman 编码
7. DC 的编码
*/
/*
对电视机,在考虑人的视觉系统和电视阴极射线管(CRT)的非线性特性之后,RGB 和 YUV 的对应关系近似为:
Y=0.3R+0.59G+0.11B
U=B-Y
V=R-Y
*/
转载请注明:在路上 » [转]一些关于JPEG编解码的文章