数据压缩实验五:JPEG解码

一、实验原理
在这里插入图片描述
YUV图片输入,依次经过零偏置、8x8DCT变换、统一量化,然后分为DC系数和AC系数分别进行编码。DC系数进行差分编码然后进行Huffman编码,AC系数先进行zigzag扫描然后进行游程编码然后进行Huffman编码生成码流。

JPEG解码过程:
解码Huffman数据,解码DC差值,重构量化后的系数,DCT逆变换,丢弃填充的行/列,反零偏置,对丢失的CbCr分量差值(下采样的逆过程)
JPEG 在文件中以 Segment 的形式组织,它具有以下特点:
1.均以 0xFF 开始,后跟 1 byte 的 Marker 和 2 byte 的 Segment length(包含表示 Length 本身所占用的 2 byte,不含“0xFF” + “Marker” 所占用的 2 byte);
2.采用 Motorola 序(相对于 Intel 序),即保存时高位在前,低位在后;
3. Data 部分中,0xFF 后若为 0x00,则跳过此字节不予处理;

二、实验步骤
1.读取文件
2.解析文件
SOI、APP0、DQT、SOF0、DHT、SOS
3.根据每个分量的水平和垂直采样因子计算最小编码单元的大小,并得到每个最小编码单元内8×8宏块的个数
4.对每个最小编码单元解码
5.解析到EOI结束
6.将Y、Cb、Cr转换为所需的色彩空间保存

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值