JPEG原理分析及JPEG解码器的调试

本文详细介绍了JPEG编码的原理,包括颜色空间转换、DCT变换、量化、熵编码等步骤,以及JPEG文件格式的组成部分如DQT和DHT标记段。同时,还涵盖了JPEG解码器的实验代码和结果,通过输出量化矩阵和Huffman码表,展示了DC和AC图像的概率分布。
摘要由CSDN通过智能技术生成

一、实验目的:

掌握 JPEG 编解码系统的基本原理。初步掌握复杂的数据压缩算法实现,并能根据理论分析需要实现所对应数据的输出。

二、JEPEG原理:

JPEG 是Joint Photographic Experts Group(联合图像专家小组)的缩写,是第一个国际图像压缩标准。
.jpeg/.jpg是最常用的图像文件格式,是一种有损压缩格式。JPEG编码框图如下图所示:

在这里插入图片描述
编码步骤为:

(1)颜色空间转换、采样、零偏置

由于JPEG采用的是YUV颜色空间,首先将输入图片转换为YUV颜色空间,并按一定的采样格式进行采样。然后对Y分量进行电平偏移转换,可以对Y减128操作,使Y、U、V电平取值范围都在-128~127之间。

(2)分块

分别对Y、U、V三个分量的数据进行88分块,编码时,按从左至右,从上至下的顺序依次读取一个88块,对其进行DCT变换、量化、编码后,再读取下一个8*8块。

若图像宽高不是8的整数倍,还需要通过复制相邻像素值补成8的整数倍。

(3)DCT变换

JPEG中采用DCT(离散余弦变换),DCT变换具有能量守恒、能量集中和去相关的特性。这样可以将能量集中在低频区域,对低频和高频各系数采用不同的量化比特数进行单独量化,不会损伤过多的效率。

(4)zig-zag扫描排序、量化

对每个88块的数据进行zig-zag扫描排序,重新排序后的88数组里的系数值按低频到高频依次排列。再对每个8*8系数块进行量化,由于人眼对亮度信号比对色差信号更敏感,所以采用亮度量化表和色差量化表对其分别处理。又由于人眼对低频比对高频敏感,所以对低频系数细量化,对高频粗量化。

zig-zag扫描: 两张量化表:

(5)DC系数的差分脉冲调制编码

由于8*8 的图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值