JPEG编码

简介:

  jpeg整个的编码过程实现:

       第一步:8*8的源图像数据变为范围为 -128~127  

       第二步:对转换范围后的数据进行DCT变换 ,并四舍五入取接近的整数,公式为FDCT变换公式。一共得到 64个 DCT  变换系数。u=0且v=0  时,称为DC系数,是64个图像采样平均值。剩下的63个系数称为AC系数。

       第三步:对这64个DCT变换系数根据亮度量化表和色度量化表进行量化。

       第四步:对量化后的系数进行采用zig-zag(“Z”字形)扫描,然后对量化后的DC系数进行 DPCM 编码,对量化后的AC系数进行行程编码。

       第五步:对DPCM编码后的DC系数和行程编码后的AC系数继续进行熵编码,最后得到压缩后的图像数据

       DCT变换过程

       FDCT变换公式:

2010061312571045.png

      每个8*8二维源图像采集数据块,实际上是64点离散信号,该信号是空间二维参数x和y的函数。离散余弦的变换的的每个变换系数值由64个输入信号唯一确定。在频域平面上变换系数是二维频域变量u和v的函数。对应于u=0,v=0的系数,称作直流分量,即DC系数,其余63个系数称作AC系数,即交流分量。

           

      图像基础知识

      在图像处理中,为了利用人的视角特性,从而降低数据量,通常把 RGB 空间表示的彩色图像变换到其他色彩空间。

      现在常用的色彩空间变换有三种:YIQ,YUV 和 YCrCb。

      每一种色彩空间都产生一种亮度分量信号和两种色度分量信号,而每一种变换使用的参数都是为了适应某种类型的显示设备。

     YIQ:用于NTSC彩色电视制式

     YUV:用于PAL和SECAM彩色电视制式

     YCbCr:用于计算机显示器

     这三种彩色空间变换都会产生一种亮度分量信号和两种色度分量信号,然后把这些信号单独存储,显示的时候一起显示。

     JPEG编码过程框图如下:

2010061312523129.png

 

   量化表是控制 JPEG 压缩比的关键,这个步骤除掉了一些高频量;另一个重要原因是所有图片的点与点之间会有一个色彩过渡的过程,大量的图像信息被包含在低频率中,经过量化处理后,在高频率段,将出现大量连续的零。

     

作者:绿茶叶 
出处:http://www.cnblogs.com/greenteaone/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/greenteaone/archive/2010/06/13/1757714.html

目录
相关文章
|
1月前
|
存储 编解码 数据处理
【FFmpeg 视频基本格式】深入理解FFmpeg:从YUV到PCM,解码到编码(三)
【FFmpeg 视频基本格式】深入理解FFmpeg:从YUV到PCM,解码到编码
30 0
|
1月前
|
存储 编解码 数据处理
【FFmpeg 视频基本格式】深入理解FFmpeg:从YUV到PCM,解码到编码(二)
【FFmpeg 视频基本格式】深入理解FFmpeg:从YUV到PCM,解码到编码
35 0
|
1月前
|
存储 缓存 编解码
【FFmpeg 视频基本格式】深入理解FFmpeg:从YUV到PCM,解码到编码(一)
【FFmpeg 视频基本格式】深入理解FFmpeg:从YUV到PCM,解码到编码
39 0
|
3月前
|
存储 传感器 编解码
图像格式:常见图像格式RAW, RGB, YUV&&图像格式的解析、格式转换和看图软件
图像格式:常见图像格式RAW, RGB, YUV&&图像格式的解析、格式转换和看图软件
271 1
|
9月前
|
存储 Java 数据安全/隐私保护
什么是编码和解码
什么是编码和解码
196 0
|
5月前
|
编解码 自然语言处理
用ffmpeg将视频转成gif动图
今天分享一个我制作表情包的技巧。现在视频编辑的门槛已经非常低了,只要装个剪映稍微学一下,很容易就能把你想要的内容剪出来,真的是有手就行。但是视频剪出来的视频是无法直接用做表情包的,只有gif格式的动图才是真正可以用的表情包。另外一点,在微信、企微等通讯软件中,gif动图的大小也是有严格限制的,比如微信和企微里最大是5MB,超过这个大小就会被当成文件传输,且无法被别人收藏转发,也就失去了表情包的意义。我这里分享一些用ffmpeg来生成gif动图的命令行示例,助力大家生产出更多有趣的表情包。
66 1
|
8月前
|
计算机视觉
将TIF图像格式转化为PNG或者JPG格式
安装好cv2库,如果没有安装,请使用pip install opencv-python进行安装。
121 0
|
10月前
|
编解码 C++ 开发者
MPEG vs JPEG
MPEG vs JPEG
76 0
|
12月前
|
存储
libjpeg解码 jpeg文件
libjpeg解码 jpeg文件
133 0
|
编解码
ffmpeg编码格式转换
ffmpeg编码格式转换
371 0